#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
#include <iostream>
using namespace cv;
using namespace std;
#if 1
int main()
{
IplImage* src = cvLoadImage("D:\\2.jpg", -1);
cvNamedWindow("test", 0);
cvShowImage("test", src);
int srcW, srcH;
srcW = src->width;
srcH = src->height;
CvScalar pixel;
for (int i = 0; i<srcH; i++)
for (int j = 0; j<srcW; j++)
{
pixel = cvGet2D(src, i, j);//访问像素点
//cout << pixel.val[0] << pixel.val[1] << pixel.val[2];
pixel.val[0] = 255 - pixel.val[0]; // B分量
pixel.val[1] = 255 - pixel.val[1]; // G分量
pixel.val[2] = 255 - pixel.val[2]; // R分量
cvSet2D(src, i, j, pixel);//设置像素点
}
cvNamedWindow("src");
cvShowImage("src", src);
cvWaitKey(0);
cvReleaseImage(&src);
cvDestroyWindow("test");
return 0;
}
#endif
实现对逐个像素的访问并重新赋值,实现图像的反色操作。