Image Processing using CUDA
Today we live in the age of high definition camera sensors that capture high-resolution images. An image can have a size of up to 1920 x 1920 pixels. So processing of these pixels on computers in real time involves billions of floating point operations to be performed per second. This is difficult for even the fastest of CPUs. GPU can help in this kind of situations. It provides high computation power which can be leveraged by using CUDA in your code.
Images are stored as multi dimensional Array in a computer with 2-dimension for gray scale image and 3-dimension for a color image. CUDA also support multi dimensional grid blocks and threads. So we can process an image by launching multi dimensional blocks and threads as seen previously. The number of blocks and threads can very depending on the size of an image. It will also depend on your GPU specifications. If it supports 1024 threads per block than 32 x 32 threads per block can be launched. The number of...