Mat是opencv在C++语言中用来表示图像数据的一种数据结构,在python中转化numpy的ndarray。
Mat由header和data组成,header中记录了图片的维数,大小,数据类型等数据。
Mat共享
在python中Mat数据对应numpy的ndarray,使用numpy提供的深浅拷贝方法即可实现Mat的拷贝
import cv2
# import numpy as np
img = cv2.imread('1.jpg')
#浅拷贝
img2 = img.view()
#深拷贝
img3 = img.copy()
img[10:100,10:100] = [0,0,255]
cv2.imshow('img',img)
cv2.imshow('img2',img2)
cv2.imshow('img3',img3)
cv2.waitKey(0)
cv2.destroyAllWindows()