CUDA implementation of McCann99 retinex algorithm
2010
The retinex algorithm is commonly used to image enhancement. Recently, the image size what we usually use, is bigger and bigger. The digital camera use big size images and the television is change to HD television. So the image enhancement time is longer and longer and it needs more powerful system such as multi-core, many-core systems. But these multi-core, many-core systems or powerful systems are very expensive. So we try to parallelize this retinex algorithm with CUDA on GPGPU (general purpose graphics processing unit). It does not expensive and it can reduce the time to enhance these big size images. We choose 4 parts in the McCann99 retinex algorithm to parallelize - averaging, padding, convolution, doubling. We implement these 4 parts with CUDA and we could see the meaningful result. We used 4 different size images and 3 versions of McCann99 retinex algorithm (Matlab, C, CUDA). Sequential Matlab code takes 25.429 sec in 1024×1024 image, and Sequential C code takes 4.1 sec but proposed method takes only about 0.760 sec for the same image. So if the image size is bigger and bigger, using CUDA is more efficient. We are going to study about the real-time HD video rendering and image enhancement.
Keywords:
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
9
References
2
Citations
NaN
KQI