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

本文介绍如何使用OpenCV的cv2.inRange函数从图像中提取特定颜色,如蓝色和绿色。通过设置HSV色彩空间的下限和上限,将目标颜色区域标记为白色,其余部分为黑色,实现颜色提取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

05

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

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

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

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

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

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

来自https://blog.youkuaiyun.com/qq_42444944/article/details/91988092

也就是将要提取的颜色变为白色,其他为黑色
在这里插入图片描述
我提取了蓝色和绿色

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()

原图:

在这里插入图片描述
提取蓝色:

在这里插入图片描述
提取绿色

在这里插入图片描述
这个函数同样可以用于处理视频,需要一个循环,对每帧进行处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值