您的位置:首页 > 运维架构

OpenCV截取图像ROI并保存于指定路径

2014-11-24 15:39 399 查看

1.所用主要函数

OpenCV设置ROI函数 cvSetImageROI( ):

void cvSetImageROI(IplImage* image,CvRect rect);

image
图像头,待处理图像
rect
ROI 矩形
释放基于给定的矩形设置图像的ROI函数 cvResetImageROI( ):
void cvResetImageROI(IplImage*
image);
 
image 图像头,待处理图像
保存图像函数cvSaveImage( );
cvSaveImage(const
char* filename, const CvArr* image);

filename
文件名

image 要保存的图像

函数cvSaveImage保存图像到指定文件。只有8位单通道或者3通道(通道顺序为'BGR')可以使用这个函数保存。
如果格式,深度或者通道不符合要求,请先用cvCvtScale和cvCvtColor转换。

2.例子:

<span style="font-size:10px;"><span style="font-size:12px;">#include <cv.h>
#include<highgui.h>

int main()
{
//Loading the original image and declaring the variables
IplImage* src=cvLoadImage("D:\\Study Documents\\opencv_source\\images\\lena.jpg");
CvSize size=cvSize(100,120);
IplImage* roi=cvCreateImage(size,src->depth,src->nChannels);
CvRect box=cvRect(120,100,size.width,size.height);

//Setting the ROI and copying it
cvSetImageROI(src,box);
cvCopy(src,roi);
cvSaveImage("D:\\Study Documents\\opencv_source\\images\\lenaROI.jpg",roi);
cvResetImageROI(src);

//Defining windows
cvNamedWindow("ShowSRC");
cvNamedWindow("ShowROI");

//Showing images
cvShowImage("ShowSRC",src);
cvShowImage("ShowROI",roi);

cvWaitKey(0);

//Releasing resources
cvReleaseImage(&src);
cvReleaseImage(&roi);
cvDestroyAllWindows();

return 0;
}</span></span>




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: