作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "cv.h"
#include "highgui.h"
int main(int argc,char *argv[])
{
IplImage *img = 0;
int height,width,step,channels;
uchar *data;
int i,j,k;
if (argc<2)
{
printf("Usage :Invimage<image-file-name>/n/7");
exit(0);
}
img = cvLoadImage(argv[1]);
if (!img)
{
printf("Could not load image file:%s/n",argv[1]);
exit(0);
}
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);
cvNamedWindow("main",1);
cvMoveWindow("main",100,100);
for (i=0;i<height;i++)
{
for (j=0;j<width;j++)
{
for (k=0;k<channels;k++)
{
data[i*step+j*channels+k] = -data[i*step+j*channels+k];
}
}
}
cvShowImage("main",img);
cvWaitKey(0);
cvReleaseImage(&img);
return 0;
}