You are on page 1of 1

#include <opencv2\core\core.hpp> #include <opencv2\highgui\highgui.hpp> void main(){ cv::Mat img = cv::imread("pic.jpg"); for(int i = 0; i < img.

rows ; i++ ) { uchar* data = img.ptr<uchar>(i); // POINTER TO A ROW for(int j = 0; j < img.cols ; j ++ ) { // Try to access pixels /* data[j * img.channels() + 0 ] = 0; // BLUE data[j * img.channels() + 1 ] = 255; // GREEN data[j * img.channels() + 2 ] = 0; // RED */ // GrayScale /**/ int blue = data[j * img.channels() + 0 ]; // BLUE int green = data[j * img.channels() + 1 ]; // GREEN int red = data[j * img.channels() + 2 ]; // RED int grayValue = 0.3 * red + 0.59 * green + 0.11 * blue; data[j * img.channels() + 0 ] = data[j * img.channels() + 1 ] = data[j * img.channels() + 2 ] = grayValue; } } cv::imshow("My Image",img); cv::waitKey(0); }

You might also like