SetImageROI函数用起来可能有问题。当把一个区域定义为ROI后,如果在另一个函数中直接把这个ROI当做图片来处理而不加以特别对待会出问题。例如:将一副图的ROI直接当作图片作为另一个函数的参数时,次函数有可能修改非ROI区域的数据,发生意想不到的结果。
解决办法:创建另一副零时图像,将本图像的ROI复制到临时图像。
IplImage* temp = cvCreateImage(cvGetSize(src),IPL_DEPTH_8U, 3);
cvCopyImage(src, temp);