opencv使用小技巧
1.OpenCV把一个图像的一小块区域拷贝到另一个图像的指定区域:
IplImage* img 从图里面截取矩形的操作一般是这个样子的:
(1)
CvSize size= cvSize(40,50);//区域大小
cvSetImageROI(pSrc,cvRect(60,70,size.width, size.height));//设置源图像ROI
IplImage* pDest = cvCreateImage(size,pSrc->depth,pSrc->nChannels);//创建目标图像
cvCopy(pSrc,pDest); //复制图像
cvResetImageROI(pDest);//源图像用完后,清空ROI
cvSaveImage("Roi.jpg",pDest);//保存目标图像
(2)
IplImage* img = cvLoadImage("c:\\lh.jpg",0);
CvRect roi =cvRect(6, 6, 48, 48);
cvSetImageROI(img, roi);
cvResetImageROI(img);
cvWaitKey(-1);
// cvReleaseImage(&img);
// cvDestroyAllWindows();
cvMat操作如下:
Mat image= imread (E:\\imag);
Rect rect(10, 20, 100, 50);//要取的目标区域坐标和长宽
Mat image_roi = image(rect);
//另外: srcImage(rect).copyTo(roiImage)也可以达到同样的效果!
2. 多张分割图片写入(本地保存)
static int inc =