看代码:

import cv2 as cv
import numpy as np def separate_color(frame):
cv.imshow("原图", frame)
hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV) #色彩空间转换为hsv,便于分离
lower_hsv = np.array([37, 43, 46]) #提取颜色的低值
high_hsv = np.array([77, 255, 255]) #提取颜色的高值
mask = cv.inRange(hsv, lowerb = lower_hsv, upperb = high_hsv) #下面详细介绍
cv.imshow("inRange", mask) image = "D:/Image/test1.jpg"
src = cv.imread(image)
separate_color(src) cv.waitKey(0)

效果:(这里提取的是绿色)

python-opencv 分离图片(视频)中的某一颜色物体-LMLPHP

一、inRange()函数介绍:(OpenCV中的inRange()函数可实现二值化功能,可以同时针对多通道进行操作,使用起来非常方便!)

  1.函数原型:inRange(InputArray src, InputArray lowerb, InputArray upperb, OutputArray dst)

  2.参数介绍:src:输入图像, lowerb:要提取颜色在hsv色彩空间取值的低值, upperb:要提取颜色在hsv色彩空间取值的高值, 输出图

二、hsv色彩取值表:

python-opencv 分离图片(视频)中的某一颜色物体-LMLPHP

05-20 08:55