OpenCV基础-图像数字化
读取图像:
python
# 获取彩色图像
image = cv2.imread("image.jpg")
方法 | 作用 |
---|---|
image.shape | (垂直像素,水平像素,通道数) |
image.size | 图像包含的像素个数 |
image.dtype | 数据类型 |
获取某一像素的RGB值:
python
print(image[231, 128])
# B通道
print(image[231, 128, 0])
# G通道
print(image[231, 128, 1])
# R通道
print(image[231, 128, 2])
输出:
[59 72 46]
59
72
46
即坐标[231, 128]上的像素的RGB值由[59 72 46]组成
拆分通道:
python
image = cv2.imread("image.jpg")
cv2.imshow("image", image)
b, g, r = cv2.split(image)
cv2.imshow("B", b) # 显示B通道图像
cv2.imshow("G", g) # 显示G通道图像
cv2.imshow("R", r) # 显示R通道图像
合并通道:
python
image = cv2.imread("image.jpg")
b, g, r = cv2.split(image)
rgb = cv2.merge([r, g, b]) # 按R→G→B顺序合并
cv2.imshow("RGB", rgb)
创建纯黑色的图像:
python
width = 800
height = 600
img = np.zeros((height, width), np.uint8)
cv2.imshow("img", img)
拼接图像:
python
image1 = cv2.imread("image1.jpg")
image2 = cv2.imread("image2.jpg")
# 水平拼接两个图像
img_h = np.hstack((image1, image2))
# 垂直拼接两个图像
img_v = np.vstack((image1, image2))
cv2.imshow("img_h", img_h)
cv2.imshow("img_v", img_v)