OpenCV编程注意事项
1. 截取其中一部分的操作可以为:
CvRect roi = cvRect(x1, y1, width1, height1); inputImage = cvLoadImage(filename); cvSetImageROI(inputImage, roi); IplImage* temp = cvCreateImage(cvSize(width1, height1), inputImage->depth, inputImage->nChannels); cvCopy(inputImage, temp);
2. 注意cvResetImageROI,cvReleaseImage
3. 遍历图像:千万千万注意先height再width!
for(int i = 0 ; i < height; i++) { uchar* ptr = (uchar*)(inputImage->imageData + i * inputImage->widthStep); for(int j = 0 ; j < width; j++) { int value = ptr[3*j]; sumgreen += value; } }
4. 转灰度图
IplImage* gray = cvCreateImage(cvGetSize(inputImage),inputImage->depth,1); cvCvtColor(inputImage, gray, CV_BGR2GRAY);