Opencv中如何实现图像截取
来源:互联网 发布:温州动车事故 知乎 编辑:程序博客网 时间:2024/04/30 09:33
|
从结构arr中获取rect指向的内容,然后将这些内容复制到submat结构中,表达式采用链式表达,把内容复制到submat后,并返回submat的地址,使用过opencv的人都知道, CvArr不是一种具体的结构,可以使图像、矩阵等,具体图像位置有CvRect结构决定。
|
使用完cvGetSubRect()函数后,截取的图像就被复制到submat结构中了,下一步需要做的是从CvMat结构中转换数据到IPlImage类型。使用如下函数:
|
这同样是一个链式表达,arr参数就是使用cvGetSubRect()函数中的submat参数对应的参数,IplImage*参数就对应实际图像结构的指针,同样链式表达也会返回这个结构的指针。
使用如上的函数就可以完成图像的截取。
基于上述的链式表达,可以使用一条语句完成,如:
cvGetImage(cvGetSubRect(frame_copy,&test,Rect_eys),eye_img);
具体参数不做详细解释了。
这里需要注意一些常犯的错误:
1.CvMat* cvGetSubRect(const CvArr* arr, CvMat* submat, CvRect rect);
这个函数中的 submat,一定要申请相应的空间在传递参数,实际的数据会复制到相应指针指向的空间,这里我犯了错误。
2. CvMat* cvGetSubRect(const CvArr* arr, CvMat* submat, CvRect rect);
函数中的参数rect需要注意,它制定的复制数据的位置的大小,可能会发生数据越界,需要额外注意。比如实际图像是400x300,而你制定的起点是(350,250),而宽是100,高是100,这时候,矩形的另外一个顶点就是(450,350),实际图像数据结构中并没有这些空间,就造成越界,我这样的初学者就犯了这样的错误。
上一篇:Qt中的QString与char*的转换
下一篇:opencv中图像缩放
- 网站设计:复杂产品的响应式设...
- 万维网之父:警惕政府正在接管...
- 卢松松:38岁老男孩个人建站方...
- 江苏镇江自愿连鎖经营也“办理...
- 純繪本版《山海經》作者尹戈坐...
- 承接自动化测试培训、外包、实...
- Solaris PowerTOP 1.0 发布
- For STKMonitor
- 项目小体会
- 不用学的汉字输入法 智能H3输...
- 欢迎qq159135在ChinaUnix博客...
- 欢迎szhsfw在ChinaUnix博客安...
- 欢迎seowping在ChinaUnix博客...
- 欢迎QuickLock在ChinaUnix博客...
- 3. DB2 Control Center
- Opencv中如何实现图像截取
- opencv如何截取子图像
- OpenCV 图像中截取指定部分
- 从图像中截取一块并作为图像保存--OpenCV
- OpenCv截取图像
- opencv图像反转/截取
- opencv 鼠标截取图像
- opencv-python截取图片中一张脸的图像
- opencv截取图像中某一区域的方法
- Selenium-如何截取图像
- opencv中如何保存图像序列
- C#中如何实现左截取和右截取字符串
- OpenCV实现在图像中写入汉字
- OpenCV实现在图像中写入汉字
- opencv 如何提取图像中一个rect内部的图像
- Opencv中如何将两幅图像连接成一幅图像(Mat操作)
- opencv 如何提取图像中一个rect内部的图像
- opencv截取矩形框中的图像
- 友善之臂中的mini2440 GPIO相关函数操作
- 对2009最好的告别
- 学会使用bash脚本_友善之臂脚本分析
- 在Qt中使用OpenCV库
- Qt中的QString与char*的转换
- Opencv中如何实现图像截取
- EXT ExtJs LoadMask相关的遮罩效果
- opencv中图像缩放
- 图像增强中的灰度拓展
- 图像增强中的灰度拓展
- Coinitialize
- matlab中的图像二值化、形态学操作、边缘查找
- 攻克雅思听力
- Matlab中交互式IO操作