opencv学习心得(四)——opencv提取截获图像
来源:互联网 发布:淘宝不提交清关 编辑:程序博客网 时间:2024/05/17 05:17
首先确定选区区域,这里利用鼠标选取区域具体操作看opencv学习心得(一)。
下面就是从感兴趣区域选取图像。
第一:创建图像空间,大小与rect相同。
第二:利用setroi选取区域。
第三:一定要复制图像。
之后就是显示,很简单。
上代码:
IplImage *dst=cvCreateImage(cvSize(rect.width,rect.height),8,3);
cvSetImageROI(pFrame,rect);//选取感兴趣区域cvCopy(pFrame,dst);//复制图像cvNamedWindow("dst",1); cvShowImage("dst",dst);
下面顺便讲讲:cvcopy、cvclone,cvcopyimage,cvcloneimage.
cvCloneImage、cvCopyImage和cvCloneMat、cvCopyMat这几个函数的误用,cvCloneImage与cvCloneMat是在赋值的同时会开辟一个新的空间给定义的变量,cvCopyImage与cvCopyMat只复制值,并不会分配一个空间给赋值对象,因此cvCloneImage与cvCloneMat只适合用于变量开始定义,千万不要用在算法处理中间,否则会产生一个新的地址空间,会将赋值对象的指针地址改变,这样会导致整个程序有不可预测的错误发生,最明显的就是你本来想把子函数中的新变量值送回上一层函数,但是由于指针的指向已经改变,所以返回后的值并不会改变。在程序中间进行复制时候建议使用cvCopyImage与cvCopyMat。
cvCopy的原型是:
void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );
在使用这个函数之前,你必须用cvCreateImage()一类的函数先开一段内存,然后传递给dst。cvCopy会把src中的数据复制到dst的内存中。
cvCloneImage的原型是:
IplImage* cvCloneImage( const IplImage* image );
clone是把所有的都复制过来,也就是说不论你是否设置Roi,Coi等影响copy的参数,clone都会原封不动的克隆过来。
copy就不一样,只会复制ROI区域等。用clone复制之后,源图像在内存中消失后,复制的图像也变了,而用copy复制,源图像消失后,复制的图像不变
- opencv学习心得(四)——opencv提取截获图像
- opencv提取截获图像
- opencv之提取截获图像
- opencv提取截获图像(总结摘来)
- opencv提取截获图像(总结摘来)
- opencv提取截获图像(总结摘来)
- opencv提取截获图像,任意区域
- opencv提取截获图像,任意区域
- 《python+opencv实践》四、图像特征提取与描述——29理解图像特征
- 《python+opencv实践》四、图像特征提取与描述——30Harris 角点检测
- opencv学习心得六----轮廓提取
- 【OpenCV】图像特征提取
- OpenCV学习——图像轮廓的提取和绘制
- opencv——canny算子提取图像边缘
- opencv—提取图像RGB各个通道分量
- 【OpenCV】图像处理(四)图像金字塔
- opencv学习心得四----读取视频文件
- OpenCv学习笔记(四):使用split函数提取彩色图像的三个通道
- 手机项目开发过程
- 个性化离线实时分析系统pora
- 轻松玩转Java Web Start
- 如此娇媚性感的容颜卖C++相关介绍
- 关于java环境变量
- opencv学习心得(四)——opencv提取截获图像
- android如何设定默认主题为mint,mocha或raspberry
- 禁止火狐浏览器缓存input的值
- hdu 1754
- vim 根据不同目录设置不同的vimrc
- 一款完整的手机结构设计过程
- 可能用的到的C#开源项目
- 验证各种数据类型
- 自动生成app架构设计【二】listview设计