存储IplImage结构体到STL中的vector中的问题
今天想用STL中的vector存储多幅用IplImage结构体声明的图像,却发现存入的每一张图像都跟最后存入的图像一样。
调试了半天也找不到问题出在哪里。
请教了老师,老师说是深拷贝与浅拷贝的问题。
IplImage这个结构体其成员都是指针,指针指向的是某一幅图像,只把指针存入vector没有用的,必须要把数据也拷贝过去。
网上找到解决办法如下:
IplImage* img = (IplImage*)cvClone(perImage);
v.push_back(img);
每次要存入的时候克隆一份,然后再存入vector里。