2. OpenCV reads and displays image - BGR color channel

 1. Read the image

import cv2  # 数据读取格式是BGR
import matplotlib.pyplot as plt
import numpy as np

# 1.读取图像 cv2.IMREAD_COLOR 彩色图像  cv2.IMREAD_GRAYSCALE 灰度图像
img = cv2.imread("C:\\Users\\zhangqs\\Desktop\\demo.png", cv2.IMREAD_COLOR)
print(img.shape) #shape格式:(高度,宽度,通道),如:(473, 498, 3)
print(type(img)) # numpy.ndarray
print(img.size)  # 706662
cv2.imshow('img',img)  #显示图像
cv2.waitKey(0)         #等待时间,单位毫秒,0表示任意键终止
cv2.destroyAllWindows()

2. Encapsulated as display image function

# 封装为显示图像函数
def cv_show(name, img):
    cv2.imshow(name, img)  # 显示图像
    cv2.waitKey(0)         # 等待时间,单位毫秒,0表示任意键终止
    cv2.destroyAllWindows()

3. Capture part of the image

# 3.截取部分图像
imgcut=img[0:200,0:200] #格式:[y:高度,x:宽度]
cv_show('img-cut', imgcut)

4. Separate the BGR color channel

# 4.分离BGR颜色通道
b,g,r=cv2.split(img)
print(b.shape)
img2=cv2.merge((b,g,r)) #注意:这里两层括号
cv_show('merge',img2)

cp_img=img.copy()
cp_img[:,:,0]=0 #B
cp_img[:,:,1]=0 #G
cv_show('R',cp_img)

running result

Guess you like

Origin blog.csdn.net/a497785609/article/details/131205438