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

1.所用主要函数    

http://www.cnblogs.com/zcftech/archive/2013/04/09/3011225.html

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.例子:

  1. <span style="font-size:10px;"><span style="font-size:12px;">#include <cv.h>  
  2. #include<highgui.h>  
  3.   
  4. int main()  
  5. {  
  6.     //Loading the original image and declaring the variables  
  7.     IplImage* src=cvLoadImage("D:\\Study Documents\\opencv_source\\images\\lena.jpg");  
  8.     CvSize size=cvSize(100,120);  
  9.     IplImage* roi=cvCreateImage(size,src->depth,src->nChannels);  
  10.     CvRect box=cvRect(120,100,size.width,size.height);  
  11.       
  12.     //Setting the ROI and copying it  
  13.     cvSetImageROI(src,box);  
  14.     cvCopy(src,roi);  
  15.     cvSaveImage("D:\\Study Documents\\opencv_source\\images\\lenaROI.jpg",roi);  
  16.     cvResetImageROI(src);  
  17.       
  18.     //Defining windows  
  19.     cvNamedWindow("ShowSRC");  
  20.     cvNamedWindow("ShowROI");  
  21.       
  22.     //Showing images  
  23.     cvShowImage("ShowSRC",src);  
  24.     cvShowImage("ShowROI",roi);  
  25.   
  26.     cvWaitKey(0);  
  27.       
  28.     //Releasing resources  
  29.     cvReleaseImage(&src);  
  30.     cvReleaseImage(&roi);  
  31.     cvDestroyAllWindows();  
  32.       
  33.     return 0;     
  34. }</span></span>  
<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>






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值