OPENCV中关于imagedata的问题。

2024-12-24 22:37:43
推荐回答(1个)
回答1:

产生此问题的原因是opencv的IplImage类型中关于图像实际数据的存储问题导致的。IplImage类型与图像的实际存储地址实际上是不一样的,IplImage类型其实仅仅是一个imageheader,存储的图像数据和IplImage类型数据是分开的。也就是IplImage a ,IplImage b。使用b给a赋值(a=b)时,图像数据并没有拷贝。也就是说其实你的程序中sub_img仅仅相当于一个指针,指向了interet_img图像数据中的一个位置而已。对sub_img的操作实际上也是对interet_img操作。所以调整灰度的时候interet_img图像也被修改了。