📜  使用Python识别图像中的颜色 – OpenCV(1)

📅  最后修改于: 2023-12-03 15:06:54.077000             🧑  作者: Mango

使用Python识别图像中的颜色 – OpenCV

本文介绍如何使用Python和OpenCV库来识别图像中的颜色。通过这种方法,我们可以检测图像中的颜色并将其转换为可用于计算机视觉应用程序的数字值。

前提条件

在开始之前,我们需要确保我们已经安装了Python和OpenCV库。通过以下命令安装:

pip install opencv-python
代码解析

以下是如何识别图像中颜色的基本代码片段:

import cv2
import numpy as np

# Load image
image = cv2.imread("image.jpg")

# Convert BGR to HSV
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

# Define range of color in HSV
lower_red = np.array([0,50,50])
upper_red = np.array([10,255,255])

# Threshold the HSV image to get only red colors
mask = cv2.inRange(hsv, lower_red, upper_red)

# Bitwise-AND mask and original image
res = cv2.bitwise_and(image, image, mask=mask)

cv2.imshow('Original',image)
cv2.imshow('Mask',mask)
cv2.imshow('Result',res)
cv2.waitKey(0)
cv2.destroyAllWindows()

首先,我们加载图像并将其转换为HSV色彩空间。之后,我们定义要检测的颜色范围。在本例中,我们将侦测红色。要检测不同的颜色,只需相应地更改颜色范围即可。

接下来,我们使用cv2.inRange()函数提取HSV图像中的指定颜色范围。这将为我们提供一个掩码图像,与原始图像相对应。最后,我们使用cv2.bitwise_and()函数将原始图像和掩码图像重叠,以便只显示红色区域。

结论

通过上述过程,我们可以成功地将图像中的颜色转换为数字值。这种技术在计算机视觉应用程序中非常有用,例如在行人检测和机器人导航中。我们可以检测到物体的颜色并将其用于识别和分类。