查找图像颜色直方图代码
以下是Python中使用OpenCV库查找图像颜色直方图的示例代码:
import cv2
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread('image.jpg')
# 将图像转换为HSV颜色空间
hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 计算直方图
hist = cv2.calcHist([hsv_img], [0, 1], None, [180, 256], [0, 180, 0, 256])
# 显示直方图
plt.imshow(hist, interpolation='nearest')
plt.title('Histogram')
plt.show()
解释:
- 首先使用
cv2.imread()函数读取图像。 - 然后使用
cv2.cvtColor()函数将图像转换为HSV颜色空间,这是因为HSV颜色空间更适合计算颜色直方图。 - 使用
cv2.calcHist()函数计算图像的直方图。这个函数有几个参数:- 第一个参数是要计算直方图的图像,这里是HSV图像。
- 第二个参数是通道列表,这里是[0, 1],代表计算H和S通道的直方图。
- 第三个参数是掩码,这里为None,表示计算整个图像的直方图。
- 第四个参数是直方图的大小,这里是[180, 256],代表将H通道分成180个bin,S通道分成256个bin。
- 第五个参数是范围,这里是[0, 180, 0, 256],代表H通道的取值范围是[0, 180],S通道的取值范围是[0, 256]。
- 最后使用
matplotlib库显示直方图。
注意:以上代码中只是一个简单的示例,实际使用中可能需要对直方图进行归一化、平滑等预处理
原文地址: https://www.cveoy.top/t/topic/e8hX 著作权归作者所有。请勿转载和采集!