opencv的入门1

来源:互联网 发布:德拉蒙德 格林体测数据 编辑:程序博客网 时间:2024/06/05 02:05
#include<stdio.h>
#include<cv.h>
#include"highgui.h"

int main(int argc, char** argv)
{
IplImage *img =0;
int height,width,channel,step;
uchar *data;
int i,j,k;

if(argc<2)
{
printf("Usage error:please enter your image path.\n");
return -1;

}


img =cvvLoadImage(argv[1]);
if(!img)
{
printf("Could not load img file: %s\n",argv[1]);
return -1;
}

height = img->height;
width = img->width;
step = img ->widthStep;
channel = img ->nChannels;
data = (uchar* )img->imageData;


printf("Processing a %d*%d image with %d channels.\n",height,width,channel );
//create a window 
cvNamedWindow("mainWin",CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin",100,100);
//invert the image 
for(int i=0;i<height;i++)
for(j=0;j<width;j++)
for(k=0;k<channel;k++)
data[i*step+j*channel+k]=255-data[i*step+j*channel+k];
//show the image 
cvShowImage("mainWin",img);
//wait for key
cvWaitKey(0);
//Release the image 
cvReleaseImage(&img);
return 0;

}


0 0