#include <cv.hpp> using namespace cv; int main( int argc, char** argv ) { Mat image; image = imread( "resource/lena.png", IMREAD_COLOR ); Mat Output( image.rows, image.cols, CV_8UC3, Scalar(0, 0, 0) ); int height = image.rows; int width = image.cols; for(int row = 0; row < height; row++) { for(int col = 0; col < width; col++) { uchar val = (image.at<Vec3b>(row, col)[0] * 0.2999 + image.at<Vec3b>(row, col)[1] * 0.587 + image.at<Vec3b>(row, col)[2] * 0.114); Output.at<Vec3b>(row, col)[0] = val; Output.at<Vec3b>(row, col)[1] = val; Output.at<Vec3b>(row, col)[2] = val; } } namedWindow("out", WINDOW_NORMAL); imshow("out", Output); waitKey(0); return 0; }
Result:
No comments:
Post a Comment