用opencv实现图像的反转
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<cv.h>
#include<highgui.h>
int main()
{
IplImage *img =0;
int height,width,step,channels;
uchar * data;
int i,j,k;
//load image
img = cvLoadImage("D:\\boldt.jpg",1);
//receive the message
height = img->height;
width = img->width;
step = img->widthStep;
channels = img->nChannels;
data = (uchar *)img->imageData;
printf("Processing a %dx % d image with %d channels\n",height,width,channels);
// produce window
cvNamedWindow("mainWin",CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin",100,100);
// reverse window
for (i =0;i<height;i++)
for (j=0;j<width;j++)
for(k = 0;k<channels;k++)
data[i*step+j*channels + k] = 255- data[i*step + j* channels +k];
//show
cvShowImage("mainWin",img);
cvWaitKey(0);
cvReleaseImage(&img);
system("pause");
return 0;
}