OpenCV图像处理——数字图像处理基本操作

1、读取和显示图像:

1.1 cv2.imread() 函数,原型:cv2.imread(filename, flags)
参数:
filepath:读入imge的完整路径
flags:标志位,{cv2.IMREAD_COLOR,cv2.IMREAD_GRAYSCALE,cv2.IMREAD_UNCHANGED}
cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道,可用1作为实参替代
cv2.IMREAD_GRAYSCALE:读入灰度图片,可用0作为实参替代
cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道,可用-1作为实参替代
PS:alpha通道,又称A通道,是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度复信息,定义透明、不透明和半透明区域,其中黑表示全透明,白表示不透明,灰表示半透明

1.2 cv2.imshow()函数

cv2.imshow()函数需要两个输入,一个是图像窗口的名字即title,一个是所展示图片的像素值矩阵。

import cv2

img = cv2.imread("./data/lena.jpg", cv2.IMREAD_GRAYSCALE)
cv2.imshow("Image gray", img)
imgColor = cv2.imread("./data/lena.jpg", cv2.IMREAD_COLOR)
#shape格式是height:width:channel
#channel:BGR,这里的-1代表是R,因此是灰度图
imgR = imgColor[:,:,-1]
cv2.imshow("Image color", imgColor)
cv2.imshow("Image gRay", imgR)

print(img.shape)
print(imgColor.shape)
print("len(img.shape)=", len(img.shape))
print("len(imgColor.shape)=", len(imgColor.shape))

cv2.waitKey(0)
cv2.destroyAllWindows()

终端输出:
(528, 532)
(528, 532, 3)
len(img.shape)= 2
len(imgColor.shape)= 3

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