打印图像各个点的颜色
python
import cv2
import numpy as np
"""
分别获得左上角、右上角、左下角、右下角各自的颜色,并打印相关颜色的值
"""
img = cv2.imread('test.png')
(x, y, z) = img.shape
print("当前图像的尺寸:", x, y, z)
(x1, y1, z1) = img[int(x / 4), int(y / 4)] # 左上角的中心
(x2, y2, z2) = img[int(x * 3 / 4), int(y / 4)] # 右上角的中心
(x3, y3, z3) = img[int(x / 4), int(y * 3 / 4)] # 左下角的中心
(x4, y4, z4) = img[int(x * 3 / 4), int(y * 3 / 4)] # 右下角的中心
print("左上角的中心颜色:", x1, y1, z1)
print("右上角的中心颜色:", x2, y2, z2)
print("左下角的中心颜色:", x3, y3, z3)
print("右下角的中心颜色:", x4, y4, z4)
这段代码使用 OpenCV 读取图像文件('test.png'),然后分别获取图像的左上角、右上角、左下角和右下角中心点处的像素颜色值,并打印输出这些颜色值。
主要步骤如下:
- 使用
cv2.imread
读取图像文件,存储在变量img
中。 - 获取图像的尺寸,使用
img.shape
得到(行数, 列数, 通道数)
。 - 计算图像四个角中心点的坐标。
- 分别获取四个角中心点处的像素颜色值,通过数组索引的方式得到颜色值。
- 打印输出每个角中心点处的颜色值。
这个代码片段展示了如何使用 OpenCV 获取图像特定位置的颜色值,并可根据需要进行后续的处理或分析。