opencv 图像复制问题

问题描述

使用opencv 进行图像复制的时候(numpy.ndarray格式)
=> 当图像之间进行赋值时,图像数据并未发生复制,两个对象指向同一块内存,改变图像2会影响图像1

img1 = img0 #浅拷贝
#img0 Process and show
cv2.rectangle(img0, (240, 0), (480, 375), (0, 255, 0), 2)
cv2.imshow("img0", img0)
#img1 show
cv2.imshow("img1", img1 )

会发现 img0 和 img1 上面都有这个框。

=> 当图像之间进行赋值时,图像数据发生复制,两个对象指向不同的内存,改变图像2不会影响图像1

img1 = img0.copy() #深拷贝
#img0 Process and show
cv2.rectangle(img0, (240, 0), (480, 375), (0, 255, 0), 2)
cv2.imshow("img0", img0)
#img1 show
cv2.imshow("img1", img1 )

会发现 只在img0 上面有这个框。

你可能感兴趣的:(opencv,计算机视觉,图像处理)