// opencv2.cpp : Defines the entry point for the console application. //  #include "stdafx.h"  #include <highgui.h> #include <cv.h>      #include <iostream> using namespace std; void  main(	)   { 	IplImage* src_img=cvLoadImage("放鸽子女神.jpg",-1);	//读入图像 	IplImage* dst_img;								//定义目标图像头; 	 	CvRect ROI_rect_src;								//源图像ROI的位置以及大小 	CvRect ROI_rect_dst;								//目标图像的ROI							 	cvNamedWindow("src_img",CV_WINDOW_AUTOSIZE);  	 	cvMoveWindow("src_img", 200, 200);				// 设置源图像输出的窗口位置 	 	cvShowImage("src_img",src_img);			 		//输出源始图像未设置ROI区域 	 	cvWaitKey(800); 	 	 	//cvSetImageROI函数基于给定的矩形设置感兴趣区域   	// cvShowImage函数将只会显示 ROI指定区域 	 	 	ROI_rect_src.x=0; 	ROI_rect_src.y=0; 	ROI_rect_src.width=120; 	ROI_rect_src.height=100; 	 	cvSetImageROI(src_img, ROI_rect_src);	 	 	cout<<"输出原图像的ROI区域"<<endl; 	 	cout<< (src_img->roi->xOffset) <<"    "<< (src_img->roi->yOffset) <<endl; 	cout<< (src_img->roi->width) <<"  "<< (src_img->roi->height) <<endl<<endl; 	 	cvShowImage("src_img",src_img);					//输出设定ROI后的原始图像 	 	 	//------------	函数 cvCloneImage实现图像的完整拷贝包括头、ROI和数据 --------------- 	 	dst_img=cvCloneImage(src_img);						 	 	//-----------函数cvGetImageROI得到图像的ROI区域--------------------------- 	 	ROI_rect_dst=cvGetImageROI(dst_img); 	 	cout<<"输出目标图像的ROI区域"<<endl; 	 	cout<<ROI_rect_dst.x<<"    "<<ROI_rect_dst.y<<endl; 	cout<<ROI_rect_dst.width<<"  "<<ROI_rect_dst.height<<endl; 	 	cvNamedWindow("dst_img",CV_WINDOW_AUTOSIZE);  	 	cvMoveWindow("dst_img", 400, 200);			//设置目标图像输出的窗口位置 	 	cvShowImage("dst_img",dst_img);				//显示图像 	 	cvWaitKey(800); 	 	cvResetImageROI(dst_img);				//释放目标图像的ROI 	 	cvShowImage("dst_img",dst_img);				//显示释放图像的ROI的源图像 	 	 	cvWaitKey(0);	 	 	cvReleaseImage(&src_img);						//释放图像 	cvReleaseImage(&dst_img);    }