管家婆高手心水论坛

opencv对获取的图像进行处理可是处理的永远是上一帧图像


更新时间:2019-10-21  


  现在的问题是 当flag==1时,捕捉的是flag不等于1时的图片,然后继续捕捉,显示和处理的都是上一次捕捉的一帧图片。不知道这是为什么?后面的数据处理是没问题的,主要是前面的获取图片的逻辑没弄明白,或者数据处理太复杂,处理不过来,有可能么??

  在网上看了一些帖子后,一般都是cvQueryFrame返回的指针总是指向同一块内存。建议cvQueryFrame后拷贝一份。现在是把每次获取的frame先保存下来,再运算的,为什么还是处理的上一帧图片呢??求高手解答,在线等着!!谢谢!分数不多,希望大家帮帮忙展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部应该是这样,每次循环都应该把图像从视频流里提出来,然后符合条件就保存处理。而你的是符合条件才提,而视频并没有跳帧,所以处理的图像就不对。更多追问追答追问我是不想把图片的获取放在while循环里,只有触发条件flag==1成立时,才有frame = cvQueryFrame(capture);

  当然capture的值也是放在while外面,难道就不能实现这样的捕捉吗?只能在while循环里不停地采视频数据,才能实时得到想要处理的图片吗?如果是这样的话,那我早就实现了。。。

  你虽然保存了图片,但是frame指向的内存没有变,还是cvQueryFrame的那块

  你到底用没有循环,还有我是说cvQueryFrame执行后,capture会变,要不怎么能没循环执行一次提出来的图形data不一样,cvQueryFrame必须一直用,到flag==1再显示处理不就行。你匿名我不知道怎么具体给你讲清楚。【网安山东】女大学生“兼职”刷单被骗!警惕这种网络陷阱就在你,我看不懂你的追问,全都问一半。而且我觉得你也并没有看懂我的答案。按我的想法,你运行的越久,偏差会越大,不止一帧的差距。

  那你的意思就是capture = cvCreateCameraCapture(0);必须放在一个while循环里,用于实时更新视频数据咯?这样才能保证frame取的数据是实时的?

Copyright © 2002-2011 DEDECMS. 织梦科技 版权所有 Power by DedeCms