OpenCV教程例5-20移动检测例子中图像颠倒问题

OpenCV教程例5-20移动检测例子中图像颠倒问题

帖子由 soliddream » 2008-05-22 10:48

这几天在琢磨OpenCV教程的若干例子,运行各种各样的例子看看其中的效果真是很有意思的事情。

在例5-20遇到了点问题,首先谈谈其中一个小小的错误,就是没有释放CvCapture对象指针
cvReleaseCapture(&pCapture);当然我看在论坛里的例子中已经得到纠正。

基于吹毛求疵的本性,我遇到的问题就是显示的背景图和前景图颠倒。

我把循环里的一句一句注释看看问题出在哪,结果发现这两句造成了图像颠倒:
cvCvtColor(pFrame, pBkImg, CV_BGR2GRAY);
cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY);
我不知道 为什么cvCvtColor进行了图像的颠倒,还请各位指点。

目前我在显示图像之前加了如下两句:
cvFlip(pBkImg,NULL,0);
cvFlip(pFrImg,NULL,0);
可以将图像颠倒回去显示。
soliddream
OpenCV本科生
 
帖子: 177
注册: 2008-03-26 0:25

Re: OpenCV教程例5-20移动检测例子中图像颠倒问题

帖子由 soliddream » 2008-05-22 11:09

研究了下cvCvtColor()的说明。
我又深入的进行思考IplImage的结构,发现了问题的原因(我非常喜欢琢磨数据结构)。
在IplImage的其中一个属性origin在作怪。
首先我在显示图像之前
pBkImg->origin=1;
pFrImg->origin=1;
图像颠倒问题解决。
其次我将上述两句注释掉分别输出origin,发现pBkImg->origin和pFrImg->origin的值为0,而 pFrame->origin的值为1
我认为问题的根源在于cvQueryFrame得到的IplImage对象的origin值为1,而通过cvCreateImage建立的IplImage的origin的值为0
如有不对,还请各位斧正。
soliddream
OpenCV本科生
 
帖子: 177
注册: 2008-03-26 0:25

Re: OpenCV教程例5-20移动检测例子中图像颠倒问题

帖子由 Shiqi Yu » 2008-05-22 11:13

Con! You got it!
赞喜欢琢磨数据结构
1. 发帖时请详细描述您遇到的问题,不要仅仅用“出错”,“有问题”,“不行”等没有信息含量的描述。
2. 标题中扼要描述你的问题,不要用“新手请教”之类没有信息含量的标题。
3. 不要“哭求”,“跪求”,男儿有泪不轻弹,男儿膝下有黄金。
4. 技术问题请发在板面,不要给我发送私人短信,其他问题欢迎给我发信。
头像
Shiqi Yu
站点管理员
 
帖子: 2414
注册: 2006-09-27 17:58
地址: 蛇口

Re: OpenCV教程例5-20移动检测例子中图像颠倒问题

帖子由 010831 » 2009-10-19 9:22

您好,我有几个问题向您请教:
1、origin为1是否就是正常看到的图像,可是1为底左结构,我们看到的应该是顶左结构吗?
2、在我的例子中采用cvFlip(pBkImg,NULL,0); cvFlip(pFrImg,NULL,0); 可以颠倒图像,可是我用 pBkImg->origin=1; pFrImg->origin=1; 却还是没有颠倒图像。原因何在?
请指教,先行谢过!  :mrgreen:
上面的问题中,例子代码frame为捕获到的视频帧
cvFlip(frame,NULL,0); 
cvFlip(frame_not,NULL,0); 
frame->origin=0; //调试时加的
frame_not->origin=0; //调试时加的
我用断点调试发现frame的origin无论是0还是1,图像都是正常显示(调试时3、4两行代码把origin置0,置1都正常),而且只要用前面2行代码就能解决图像颠倒问题,后面的2行代码没有改变显示,只是改变origin的值?
010831
OpenCV小学生
 
帖子: 6
注册: 2009-08-13 22:12

Re: OpenCV教程例5-20移动检测例子中图像颠倒问题

帖子由 walan » 2009-11-05 15:20

请问一下为什么这个程序我运行不了,通过命令行输入命令后,只看到3个窗口一闪而过,然后命令行窗口显示“Can not open video file E:\test\OpenCV_test\例5-20\Debug\t0001.avi”,我用光盘上自带的avi也不行。谁能告诉我吗?
walan
OpenCV幼儿园宝宝
 
帖子: 1
注册: 2009-07-11 9:57

Re: OpenCV教程例5-20移动检测例子中图像颠倒问题

帖子由 darkread » 2010-05-07 9:29

soliddream 写道:研究了下cvCvtColor()的说明。
我又深入的进行思考IplImage的结构,发现了问题的原因(我非常喜欢琢磨数据结构)。
在IplImage的其中一个属性origin在作怪。
首先我在显示图像之前
pBkImg->origin=1;
pFrImg->origin=1;
图像颠倒问题解决。
其次我将上述两句注释掉分别输出origin,发现pBkImg->origin和pFrImg->origin的值为0,而 pFrame->origin的值为1
我认为问题的根源在于cvQueryFrame得到的IplImage对象的origin值为1,而通过cvCreateImage建立的IplImage的origin的值为0
如有不对,还请各位斧正。

找啊找啊找,终于找到答案了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值