2.OpenCV 读取和显示图像-BGR颜色通道

OpenCV-Python 84次浏览

 1.读取图像

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.封装为显示图像函数

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

3.截取部分图像

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

4.分离BGR颜色通道

# 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)

运行效果

发表评论

电子邮件地址不会被公开。 必填项已用*标注