当前位置:   article > 正文

5.opencv深浅拷贝

5.opencv深浅拷贝

图像处理的复制操作 深浅拷贝

图像复制分成两种,第一种假复制,从原图片选择一部分图片拿出来观察,此时新生成的图片和原图实际上是同一张图片,即浅拷贝

将图片的一部分复制下来,放到新的内存中,即两张完全独立的图片是深拷贝

对复制后的图片操作,可以看出深浅拷贝的区别

# 导入cv2和numpy库
import cv2
import numpy as np

# 创建一个名为'img'的窗口,并设置窗口大小
cv2.namedWindow('img', cv2.WINDOW_NORMAL)
cv2.resizeWindow('img', 1200, 480)

# 使用cv2.imread()函数读取图片,并将其存储在img变量中
img = cv2.imread('./china.jpg')

# 使用view()方法进行浅拷贝,创建一个与img共享相同数据的新数组img2
img2 = img.view()

# 使用copy()方法进行深拷贝,创建一个完全独立于img的新数组img3
img3 = img.copy()

# 将img数组中从(10,10)到(100,100)的区域的值设置为蓝色(0,0,255)
img[10:100, 10:100] = [0, 0, 255]

# 使用hstack()函数将img, img2, img3三个数组水平堆叠起来,并显示在名为'img'的窗口中
cv2.imshow('img', np.hstack((img, img2, img3)))

# 等待键盘事件,如果无事件则一直等待
cv2.waitKey(0)

# 销毁所有OpenCV创建的窗口
cv2.destroyAllWindows()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

CV创建的窗口
cv2.destroyAllWindows()

请添加图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/799926
推荐阅读
相关标签
  

闽ICP备14008679号