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

看代码:

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)

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

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

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

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

二、hsv色彩取值表:

原文地址:https://www.cnblogs.com/brillant-ordinary/p/9558361.html