有关ROI的操作

//创建时间2015年5月27日
//使用到的函数原型:
//      1、 void cvSetImageROI(IplImage* image,CvRect rect);
//      2、IplImage* cvCloneImage( const IplImage* image );
//收获:
#include <iostream>  
#include <vector>  
#include <opencv2/opencv.hpp>  
using namespace std; 
  
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") 


int main()  
{  
const char * m_PicName = "华山论剑.jpg";
const char * m_RoiPicName = "华山论剑.jpg";
IplImage * m_PPic = cvLoadImage( m_PicName , CV_LOAD_IMAGE_UNCHANGED );
//载入检测
    if ( 0 == m_PPic )
{
cout<<"载入图片失败!"<<endl;
return -1;
}
IplImage * m_PPicRoi = NULL;
CvRect ROI_rect_src;
CvRect ROI_rect_Roi;


cvNamedWindow( m_PicName );
cvMoveWindow( m_PicName , 200 , 200 );
cvShowImage( m_PicName , m_PPic );
cvWaitKey( 800 );
ROI_rect_src.x = 500;
ROI_rect_src.y = 500;
ROI_rect_src.width = 1200;
ROI_rect_src.height = 1200;
cvSetImageROI( m_PPic , ROI_rect_src );
cvShowImage( m_PicName , m_PPic );
cvWaitKey(  );
m_PPicRoi = cvCloneImage( m_PPic );


cvNamedWindow( m_RoiPicName );
cvMoveWindow( m_RoiPicName , 400 , 200 );
cvShowImage( m_RoiPicName , m_PPicRoi );
cvWaitKey(  );
cvResetImageROI( m_PPicRoi );
cvShowImage( m_RoiPicName , m_PPicRoi );
cvWaitKey(  );
cvReleaseImage( &m_PPic );


cvDestroyWindow( m_RoiPicName );
cvReleaseImage( &m_PPicRoi );
cvDestroyWindow( m_PicName );
cvReleaseImage( &m_PPic );


    return 0;  

}  



//时间:2015年6月1日
//功能:设置一个或者多个ROI,并进行显示。
//voidpush_back(const_Ty&_X)  在vector类中作用为在vector尾部加入一个数据
//  {
//  insert(end(),_X);
//  }


//template<typename T>
//   explicit vector();                                 // 默认构造函数,vector对象为空
//   explicit vector(size_type n, const T& v = T());    // 创建有n个元素的vector对象
//   vector(const vector& x);
//   vector(const_iterator first, const_iterator last);
//
//


#include <iostream>
#include <vector>
#include "opencv2/opencv.hpp"


using namespace std; 


#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") 


int main()
{
const char * M_PicName = "华山论剑.jpg"; //自己定义的变量全部以M_开头
const char * M_PicROIName = "华山论剑ROI.jpg";
IplImage * M_Pic = cvLoadImage( M_PicName , CV_LOAD_IMAGE_UNCHANGED );
if ( 0 == M_Pic )
{
cout<<"载入图像失败!"<<endl;
return -1;
}
IplImage * M_ROIPic = NULL;
CvRect ROI_M_Pic;
CvRect * ROI_M_pPic;
ROI_M_Pic.height = 500;
ROI_M_Pic.width = 500;
ROI_M_Pic.x = 500;
ROI_M_Pic.y = 500;
cvSetImageROI( M_Pic , ROI_M_Pic );
cvNamedWindow ( "华山论剑" );
cvShowImage ( "华山论剑", M_Pic );
cvWaitKey();
cvDestroyWindow("华山论剑");
vector< CvRect > ROI_M_Pics;
for (size_t i=0 ; i < 4 ; i++)
{
ROI_M_Pics . push_back( cvRect(i*50 , i*50 , 500 , 500) );  //中文标点符号要注意!!
}
for(int i = 0; i < ROI_M_Pics.size(); i++) 
{
cvSetImageROI( M_Pic , ROI_M_Pics[i] );
cvNamedWindow ( "华山论剑" );
cvShowImage ( "华山论剑", M_Pic );
cvWaitKey();
cvDestroyWindow("华山论剑");
}


cvReleaseImage( &M_Pic );





return 0;
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值