作者: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; }