Mat其实就是一个矩阵,这个矩阵可能含有多个通道,如果是只有一个通道那么它就有两种颜色,黑白色,就是一个二维矩阵。如果是一个全真色的图像,那么他就是三个通道的矩阵。
Mat有什么好处?
可以使用numpy以矩阵的方式进行访问,操作方便。
Mat的属性

Mat拷贝

Mat有深拷贝和浅拷贝之分
访问图像(Mat)的属性:
shape:图片的高度、长度和通道数
size:图片占用多大空间=高度*长度*通道数
dtype:图像中每个元素的位深
import numpy as np import cv2 img=cv2.imread('你的图片') # 图片的高度、长度和通道数 print(img.shape) # 图片占用多大空间=高度*长度*通道数 print(img.size) # 图像中每个元素的位深 print(img.dtype) # 浅拷贝 img2=img # 深拷贝 img3=img.copy() img[10:100,10:100]=[0,0,255] cv2.imshow('img1',img) cv2.imshow('img2',img2) cv2.imshow('img3',img3) cv2.waitKey(0) cv2.destroyAllWindows()