python 识别红色区域,蓝色区域,判断相邻点个数,粗略统计
if __name__ == '__main__':
import cv2
import numpy as np
# 读取图像
image = cv2.imread(r'F:\36.jpg')
image= cv2.resize(image, (640, 480))
# 将图像从 BGR 转换为 HSV 格式
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# 为每种颜色设置一个 HSV 范围
lower_color1 = np.array([0, 100, 100]) # 例如红色的低阈值
upper_color1 = np.array([10, 255, 255]) # 例如红色的高阈值
lower_color2 = np.array([110, 100, 100]) # 例如蓝色的低阈值
upper_color2 = np.array([130, 255, 255]) # 例如蓝色的高阈值
# 对图像进行阈值处理,提取每种颜色的区域
mask1 = cv2.inRange(hsv_image, lower_color1, upper_color1)
mask2 = cv2.inRange(hsv_image, lower_color2, upper_color2)
# 使用形态学操作去除噪声
# kernel = np.ones((5, 5), np.uint8)
# mask1 = cv2.morphologyEx(mask1, cv2.MORPH_OPEN, kernel)
# mask2 = cv2.morphologyEx(mask2, cv2.MORPH_OPEN, kernel)