OpenCV学习之子图像操作
我们有时候希望对图像的某个小部分进行操作,而不是对整个图像进行运算。有两种方法,ROI和widthStep。 1. ROI 设置一个ROI区域使用cvSetImageROI,取消一个ROI使用cvResetImageROI。函数原型分别如下: void cvSetImageROI( IplImage* image, CvRect rect ); void cvResetImageROI( IplImage* image ); rect就是我们要操作的图像的某个区域。实例如下: #include <cv.h> #include <highgui.h> int main(int argc, char* argv[]) { IplImage* src; CvRect rect = cvRect(70, 70, 50, 50); if (argc == 2 && ((src = cvLoadImage(argv[1], 1)) != NULL)) { cvSetImageROI(src, rect); cvAddS(src, cvScalar(50), src); cvResetImageROI(src); cvNamedWindow("roi_add", CV_WINDOW_AUTOSIZE); cvShowImage("roi_add", src); cvWaitKey();