公司制作网站多少钱,江苏交通厅门户网站建设工程,网站源码使用方法,河南建筑工程信息专栏地址#xff1a;『youcans 的 OpenCV 例程 300 篇』 【OpenCV 例程300篇】08. 图像的复制#xff08;np.copy#xff09; 使用 Numpy 的 np.copy() 函数可以进行图像的复制#xff0c;不能通过直接赋值进行图像的复制。
函数说明#xff1a; arr numpy.copy(img) # …专栏地址『youcans 的 OpenCV 例程 300 篇』 【OpenCV 例程300篇】08. 图像的复制np.copy 使用 Numpy 的 np.copy() 函数可以进行图像的复制不能通过直接赋值进行图像的复制。
函数说明 arr numpy.copy(img) # 返回一个复制的图像 参数说明
imgndarray 多维数组表示一个灰度或彩色图像
注意事项
Python 中的 “复制” 有无拷贝、浅拷贝和深拷贝之分无拷贝相当于引用浅拷贝只是对原变量内存地址的拷贝深拷贝是对原变量ndarray数组的所有数据的拷贝。Numpy 直接赋值是无拷贝np.copy() 方法是深拷贝切片操作是特殊的浅拷贝。直接赋值得到的新图像相当于引用改变新图像的值时原图像的值也发生改变np.copy() 方法复制图像ndarray数组得到的新图像才是深拷贝改变复制图像的形状或数值原来图像并不会发生改变。
基本例程 # 1.15 图像的复制img1 cv2.imread(../images/imgLena.tif, flags1) # flags1 读取彩色图像(BGR)img2 img1.copy()print(img2img1.copy(), img2 is img1?, img2 is img1)for col in range(100):for row in range(100):img2[col, row, :] 0img3 cv2.imread(../images/imgLena.tif, flags1) # flags1 读取彩色图像(BGR)img4 img3print(img4img3, img4 is img3?, img4 is img3)for col in range(100):for row in range(100):img4[col, row, :] 0cv2.imshow(Demo1, img1) # 在窗口显示图像cv2.imshow(Demo2, img2) # 在窗口显示图像cv2.imshow(Demo3, img3) # 在窗口显示图像cv2.imshow(Demo4, img4) # 在窗口显示图像key cv2.waitKey(0) # 等待按键命令本例程中img4img3 直接赋值改变 img4 的数值后 img3 的数值也被改变了img2 img1.copy()改变 img2 的数值后 img1 并未发生改变。
本例程的运行结果如下使用 np.copy() 方法得到的新图像才是深拷贝。
img2img1.copy(), img2 is img1? False
img4img3, img4 is img3? True本节完 【第1章图像的基本操作】 06. 像素的编辑img.itemset 07. 图像的创建np.zeros 08. 图像的复制np.copy 09. 图像的裁剪cv2.selectROI 10. 图像的拼接np.hstack 版权声明 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/125112487) Copyright 2022 youcans, XUPT Crated2021-11-18