Skip to content

This is image spectrum analysis write in PyOpenCL and PyCUDA code which can doing the SFEGO on multispectral image which can see the different spatial frequency info in different wavelength channel.

Notifications You must be signed in to change notification settings

CardLin/SFEGO_Color_PyGPU

Repository files navigation

Spatial Frequency Extraction using Gradient-liked Operator on Multispectral (SFEGO_Color)

PyCUDA and PyOpenCL Version

Introduction

  • SFEGO_Color is doing the SFEGO on each RGB channel of image and concat as a RGB image that to visualize spatial info in multispectral.

  • This work is based on SFEGO single channel version:

  • The spatial frequency in the RGB image or multispectral image contain spectrum info, and we can use spatial decomposition to see this info.

  • The image sensor is not only cpature light reflect by object inside FOV but also the lighting condiction of the light source.

  • When light source passthrough the lens of camera and the refraction is different for each wavelength. So the image may contain spectrum info in it.

  • The SFEGO_Color can analysis the image to extract the spectrum info.

  • The Sun Light contain full spectrum so the decompostion result contain rainbow color in our decomposition result. SunLight

  • The LED Light contain Blue and Yellow spectrum due to the LED cell emit the Blue Light and hit the Yellow Phosphor to generate the White Light. LedLight

Hardware Requirement

  • Require GPU to execute Kernel Code

  • Recommend to use NVIDIA GPU with 1GB+ VRAM (VRAM usage is depend on Image Size)

  • AMD Integrated GPU and Intel Integrated GPU can also run this project

  • Although It can also run OpenCL on CPU mode but even the Intel Integrated GPU is faster than high-end CPU

Execution

  • Choose which GPGPU architecture you want to use. (comment out the architecture you don't want to use)

    • import SFEGO_PyOpenCL as SFEGO_Backend
    • import SFEGO_PyCUDA as SFEGO_Backend
  • By default, it will using PyOpenCL to run the SFEGO. (notice: Integrated GPU also can run PyOpenCL and may slower than Discrete GPU)

  • python SFEGO_Color.py test1.jpg

  • python SFEGO_Color.py test2.jpg

About

This is image spectrum analysis write in PyOpenCL and PyCUDA code which can doing the SFEGO on multispectral image which can see the different spatial frequency info in different wavelength channel.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published