【Python 之HSV颜色识别】

这篇具有很好参考价值的文章主要介绍了【Python 之HSV颜色识别】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

汽车自动驾驶,需要颜色识别,如黄色/红色车道线,蓝色车牌。
本文从HSV颜色模型出发,提供一种识别黄色车道线的方法供参考。

一、HSV颜色模型

HSV颜色模型的参数分别是色调(Hue)、饱和度(Saturation)和明度(Value)。

python hsv,python,opencv

二、黄色识别

以24色卡为例,识别其中黄色色块。
以下是部分颜色的范围:
H:0-180
S:0-255
V:0-255

python hsv,python,opencv

三、使用步骤

1.引入库

代码如下 :
import cv2 
import numpy as np
import matplotlib.pyplot as plt

2.处理图片

代码如下 :
# read image
img=cv2.imread('colorchecker.jpg')
# median filter
img=cv2.medianBlur(img,7)

cv2.namedWindow("HSV")
# HSV Color Space
HSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
cv2.imshow('HSV', HSV)
H, S, V = cv2.split(HSV)
# Color threshold
lower_red = np.array([26, 43, 46])
upper_red = np.array([34, 255, 255])
mask = cv2.inRange(HSV, lower_red, upper_red)
mask=cv2.medianBlur(mask,5)
maskAnd = cv2.bitwise_and(img, img, mask=mask)
cv2.imshow('maskAnd', maskAnd)

# show
imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
maskAnd= cv2.cvtColor(maskAnd, cv2.COLOR_BGR2RGB)
plt.subplot(121),plt.imshow(imgRGB)
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(maskAnd)
plt.title('ImageYellow'), plt.xticks([]), plt.yticks([])
plt.show()

cv2.waitKey(0)
cv2.destroyAllWindows()

3.识别结果

python hsv,python,opencv文章来源地址https://www.toymoban.com/news/detail-523286.html


总结

本文仅简单介绍了OpenCV中HSV在颜色识别的使用,	实际应用中会有边缘毛刺等,要结合中值滤波预处理;
同时需要大量模型数据统计,进行色彩阈值微调,才能满足色彩识别需求。

到了这里,关于【Python 之HSV颜色识别】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ opencv HSV颜色空间转换+RGB三通道提升亮度

    #include iostream #include iomanip #includeopencv2//opencv.hpp using namespace std; using namespace cv; //函数adjustBrightness用于图片增加亮度 void adjustBrightness(cv::Mat image, int targetBrightness) {     // 获取图像的通道数     int channels = image.channels();     // 计算调整亮度的因子     float factor = 1.0f;     if

    2024年03月09日
    浏览(42)
  • opencv-20 深入理解HSV 色彩空间(通过指定,标记颜色等来拓展ROI区域)

    RGB 色彩空间是一种被广泛接受的色彩空间,但是该色彩空间过于抽象,我们不能够直接通过其值感知具体的色彩。 我们更习惯使用直观的方式来感知颜色,HSV 色彩空间提供了这样 的方式。 通过 HSV色彩空间,我们能够更加方便地通过色调、饱和度和亮度来感知颜色。 其实,

    2024年02月15日
    浏览(34)
  • Python图像处理:使用OpenCV对图像进行HSV和RGB表示法的转换

    Python图像处理:使用OpenCV对图像进行HSV和RGB表示法的转换 在图像处理中,我们经常需要使用不同的颜色表示法来处理图像。在OpenCV中,我们可以使用HSV(色相、饱和度、亮度)表示法来替代标准的RGB(红、绿、蓝)表示法来处理图像。HSV表示法更为直观和易于使用,因为它将

    2024年02月06日
    浏览(51)
  • RGB、HSV、HSL和CMYK颜色空间

    目录 简介 RGB(红绿蓝)颜色空间 HSV(色调、饱和度、亮度)颜色空间 HSL(色调、饱和度、亮度)颜色空间 CMYK(青、品红、黄、黑)颜色空间 这四种颜色空间在不同的应用领域有不同的用途: RGB主要用于计算机图形学和显示设备中 ,可以通过调整红、绿、蓝三个分量的值

    2024年02月16日
    浏览(30)
  • 计算机图形学---常用颜色模型汇总(RGB,CMY,HSV)

    本文整理自西安交通大学软件学院祝继华老师的计算机图形学课件,请勿转载 颜色模型 :某个三维颜色空间中的一个 可见光子集 ,包含某个颜色域的所有颜色 用途:在某个颜色域内方便地指定颜色; 在某种特定环境中对颜色的特性和行为的解释方法; 没有一种颜色模型能

    2023年04月08日
    浏览(41)
  • 计算机视觉--利用HSV和YIQ颜色空间处理图像噪声

    前言: Hello大家好,我是Dream。 今天我们将 利用HSV和YIQ颜色空间处理图像噪声 。在本次实验中,我们使用任意一张图片,通过 RGB转HSV和YIQ 的操作,加入了 椒盐噪声 并将其转 换回RGB 格式,最终实现对 图像的噪声处理 。一起来看看吧~ 首先,我们导入需要的库。包括numpy用

    2024年02月15日
    浏览(54)
  • 机器学习图像特征提取—颜色(RGB、HSV、Lab)特征提取并绘制直方图

    目录 1 颜色特征 1.1 RGB色彩空间 1.2 HSV色彩空间 1.3 Lab色彩空间 2 使用opencv-python对图像颜色特征提取并绘制直方图 2.1 RGB颜色特征和直方图 2.2 HSV颜色特征和直方图 2.3 Lab颜色特征和直方图 RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以

    2024年02月08日
    浏览(31)
  • MATLAB中颜色模型介绍级各模型之间转换(RGB、HSV、NTSC、YCbCr、HSI)

    1.颜色模型定义 2.各颜色模型简介 3.颜色模型的转换 颜色模型 :某个三维颜色空间中的一个可见光子集,它包含某个颜色域的所有颜色。例如,RGB颜色模型就是三维直角坐标颜色系统的一个单位正方体。颜色模型的用途是在某个颜色域内方便地指定颜色。由于每一个颜色域都

    2024年02月06日
    浏览(69)
  • 颜色模型:16进制颜色、RGB、RGBA、HSL、HSA、HSB、LAB、LCH、HSV、YUV、XYZ、YCbCr、CMYK、Gray颜色 / 前端能用吗 / DEMO

    一、16进制颜色模型 16进制颜色是一种用16个字符(0-9,a-f)来表示颜色的方式。其中前两个字符表示红色分量,接下来两个字符表示绿色分量,最后两个字符表示蓝色分量。每个分量的取值范围为00到FF(十进制的0-255)。 16进制颜色是在网络和Web开发中最常用的颜色编码方式

    2024年02月21日
    浏览(30)
  • C++中键盘响应结合OpenCV库进行图像灰度图、HSV图转换和亮度调整

    QuickDemo.cpp quick_opencv.h main.cpp 按键esc退出程序。 注意必须点击原图上再输入1或2或3才有响应。

    2024年02月20日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包