存储IplImage结构体到STL中的vector中的问题

今天想用STL中的vector存储多幅用IplImage结构体声明的图像,却发现存入的每一张图像都跟最后存入的图像一样。

调试了半天也找不到问题出在哪里。

 

请教了老师,老师说是深拷贝与浅拷贝的问题。

IplImage这个结构体其成员都是指针,指针指向的是某一幅图像,只把指针存入vector没有用的,必须要把数据也拷贝过去。

 

网上找到解决办法如下:

IplImage* img = (IplImage*)cvClone(perImage);
v.push_back(img);

每次要存入的时候克隆一份,然后再存入vector里。

posted @ 2013-05-18 22:07  紫清婷  阅读(513)  评论(0编辑  收藏  举报