专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 图形/图像

视频文件,检测时只对指定区域进行检测,该怎么处理

发布时间:2011-06-27 20:40:20 文章来源:www.iduyao.cn 采编人员:星星草
视频文件,检测时只对指定区域进行检测
cvSetImageROI 
在运动物体跟踪例程中,想指定一矩形区域,只检测该区域,但是
cvSetImageROI(pImg, cvRect(x,y,width,height));
pTracker->Process(pImg, pMask);//???该地方不对,我使用cvSetImageROI 影响到了那个地方,需要如何匹配??


------解决方案--------------------
cvSetImageROI函数改变IplImage结构体中的roi字段,
一个没有ROI区域的图像其roi指针=NULL,

这个和你Process函数的写法是有关的,如果自己写函数的话需要考虑roi是否=NULL的,
我倒也没有仔细查看过opencv源代码是如何实现的,
我自己写处理带有roi区域的图像,如果性能要求不高的话,就是先生成一个工作图像,然后在工作图像上处理。

例如针对你的问题就是:

IplImage *pwkrImg
if (pImg->roi) {
pwkrImg=cvCreateImage(cvGetSize(pImg),pImg->depth,pImg->channel);
cvCopy(pwkrImg,pImg);
} else pwkrImg=pImg;

然后再
pTracker->Process(pwkrImg,pMask);

最后记得析构
if (pImg->roi) cvReleaseImage(&pwkrImg);
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: