opencv创建一个数组IplImage* img[],读视频时分别指向一帧图像,但发现所有的Img[i]指向的图像像素值相同

附图:赋值的时候是这样的:验证了一下:结果是:求教这是怎么回事?这种情况下如何存储多幅图像????... 附图:
赋值的时候是这样的:

验证了一下:

结果是:

求教这是怎么回事?这种情况下如何存储多幅图像????
展开
 我来答
qiu__peng
推荐于2016-05-28 · TA获得超过293个赞
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:119万
展开全部
img[i] 存储的是头指针。
而cvQueryFrame()返回的是每一帧的头指针,我们无法保证cvQueryFrame()不会反复使用同一块内存。(通过你的代码发现他就是反复使用的同一块内存)。当你第二次调用cvQueryFrame()的时候,其实第一帧的数据是被擦掉的。所以每个img[i]存储的都是最后一帧的数据。

比较好的做法是,先给img[i]分配数据,然后把每一帧的数据拷贝进来。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式