欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

自我记录:Python学习之OpenCV 05 图片的颜色提取

程序员文章站 2024-01-14 08:08:52
05 图片的颜色提取利用cv2.inRange函数进行颜色提取mask = cv2.inRange(hsv, lowerb, upperb)函数很简单,参数有三个第一个参数:hsv指的是原图第二个参数:lowerb指的是图像中低于这个lowerb的值,图像值变为0第三个参数:upperb指的是图像中高于这个upperb的值,图像值变为0而在lower_red~upper_red之间的值变成255来自https://blog.csdn.net/qq_42444944/article/detai...

05

利用cv2.inRange函数进行颜色提取

mask = cv2.inRange(hsv, lowerb, upperb)

函数很简单,参数有三个
第一个参数:hsv指的是原图

第二个参数:lowerb指的是图像中低于这个lowerb的值,图像值变为0

第三个参数:upperb指的是图像中高于这个upperb的值,图像值变为0

而在lower_red~upper_red之间的值变成255

来自https://blog.csdn.net/qq_42444944/article/details/91988092

也就是将要提取的颜色变为白色,其他为黑色
自我记录:Python学习之OpenCV 05 图片的颜色提取
我提取了蓝色和绿色

import cv2 as cv
import numpy as np


def extrace_object_blue():
    src=cv.imread("./timg.jpg")
    hsv=cv.cvtColor(src,cv.COLOR_BGR2HSV)
    lower=np.array([100,43,46])
    uper=np.array([124,255,255])
    timg=cv.inRange(hsv,lowerb=lower,upperb=uper)
    cv.imshow("window_blue",timg)


def extrace_object_green():
    src=cv.imread("./timg.jpg")
    hsv=cv.cvtColor(src,cv.COLOR_BGR2HSV)
    lower=np.array([35,43,46])
    uper=np.array([77,255,255])
    timg=cv.inRange(hsv,lowerb=lower,upperb=uper)
    cv.imshow("window_green",timg)


extrace_object_blue()
extrace_object_green()
cv.waitKey(0)
cv.destroyAllWindows()

原图:

自我记录:Python学习之OpenCV 05 图片的颜色提取
提取蓝色:

自我记录:Python学习之OpenCV 05 图片的颜色提取
提取绿色

自我记录:Python学习之OpenCV 05 图片的颜色提取
这个函数同样可以用于处理视频,需要一个循环,对每帧进行处理

本文地址:https://blog.csdn.net/weixin_42294553/article/details/107313356