计算机视觉——Python OpenCV BGR转HSV

这里将介绍如何使用 OpenCV 与 Python 来作彩色影像转HSV(RGB to HSV 或 BGR to HSV),在写 Python 影像处理程序时常会用到 OpenCV cvtColor 作颜色空间转换的功能,接下来介绍怎么使用 Python 搭配 OpenCV 模块来进行 RGB/BGR 转 HSV 彩色转HSV空间。

HSV 简单介绍分别为:

色相(H):色彩的颜色名称,如红色、黄色等。

饱和度(S):色彩的纯度,越高色彩越纯,低则逐渐变灰,数值为0-100%。

明度(V):亮度,数值为0-100%。

示例. 彩色影像转HSV

以下示例程序是将 fruits.jpg 来作图片转HSV示范,将影像用 imread 读进来后,再使用 cvtColor 将影像从彩色转换成HSV。

使用 cv2.cvtColor 转换颜色空间时,第二个参数与HSV相关的有:

cv2.COLOR_BGR2HSV

cv2.COLOR_HSV2BGR

cv2.COLOR_RGB2HSV

cv2.COLOR_HSV2RGB

opencv 默认的排列方式为BGR,而不是RGB哦!

所以这边使用的是 cv2.COLOR_BGR2HSV

详细程序代码如下:

opencv-rgb-to-hsv.py

python 复制代码
import cv2
image = cv2.imread('fruits.jpg')
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
cv2.imshow('Input', image)
cv2.imshow('Result', hsv)
cv2.waitKey(0)

结果如下图所示:

当然实际上使用时不会只是单纯RGB转换成HSV就结束了,通常会去针对HSV颜色区间去做后续的处理,请看下面的例子。

示例. 物体检测 - 找出绿色的物体

彩色转HSV常见的应用可能有物体检测,去背景处理(排除绿色的背景),

以下就来示范如何找出图中绿色的水果,类似的应用可能有找出草地的背景,

详细程序代码如下:

opencv-rgb-to-hsv2.py

python 复制代码
import cv2
import numpy as np
image = cv2.imread('fruits.jpg')
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
lower_green = np.array([35, 43, 46])
upper_green = np.array([77, 255, 255])
mask = cv2.inRange(hsv, lower_green, upper_green)
res = cv2.bitwise_and(image, image, mask=mask)
cv2.imshow('Input', image)
cv2.imshow('Result', res)
cv2.waitKey(0)

结果如下图所示:

相关推荐
龙哥说跨境16 分钟前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
小白学大数据32 分钟前
正则表达式在Kotlin中的应用:提取图片链接
开发语言·python·selenium·正则表达式·kotlin
flashman91134 分钟前
python在word中插入图片
python·microsoft·自动化·word
菜鸟的人工智能之路37 分钟前
桑基图在医学数据分析中的更复杂应用示例
python·数据分析·健康医疗
懒大王爱吃狼2 小时前
Python教程:python枚举类定义和使用
开发语言·前端·javascript·python·python基础·python编程·python书籍
秃头佛爷3 小时前
Python学习大纲总结及注意事项
开发语言·python·学习
浮生如梦_4 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
深度学习lover4 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
API快乐传递者5 小时前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
阡之尘埃7 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控