1、直接赋值的话,两张图片共享内存
<pre name="code" class="cpp">//PicMemTest.cpp
IplImage * img1 = cvLoadImage("d:\\picture\\lena.jpg");
IplImage * img2 = img1;
cvRectangle(img1, p1, p2, CV_RGB(0, 255, 0));
cvShowImage("p1", img1);
cvShowImage("p2", img2);
结果如图,可以看出,p1 和 p2 共享内存。并且异常退出。
2、分配内存,利用 cvCopy() 函数实现。
//PicMemTest.cpp
IplImage * img1 = cvLoadImage("d:\\picture\\lena.jpg");
IplImage * img2 = cvCreateImage(cvGetSize(img1), img1->depth, img1->nCha