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

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

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

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

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

网上找到解决办法如下:

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

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

原文地址:https://www.cnblogs.com/lxt287994374/p/3086252.html