为什么我们将RGB转换为HSV

ker*_*_13 11 opencv image-processing

我有一个图像,我想在其中检测到蓝色矩形.我的老师告诉我:

  • 将其转换为HSV颜色模型
  • 定义阈值保持使其成为具有我们想要检测的颜色的二进制图像

那我们为什么这样做呢?为什么我们不直接thresh举行rgb图片?谢谢你的回答 在此输入图像描述

GPP*_*PPK 12

您可以在此处找到问题的答案

基本概要是HSV更适合物体检测,

OpenCV通常以8位无符号整数BGR格式捕获图像和视频.换句话说,捕获的图像可以被认为是3个矩阵,蓝色,红色和绿色,整数值范围从0到255.

如何形成BGR图像在上图中,每个小框表示图像的像素.在真实图像中,这些像素非常小,人眼无法区分.

通常,人们可以认为BGR颜色空间更适合基于颜色的分割.但HSV色彩空间是用于基于颜色的图像分割的最合适的色彩空间.因此,在上述应用中,我已将视频原始图像的色彩空间从BGR转换为HSV图像.

HSV颜色空间由3个矩阵组成,"色调","饱和度"和"值".在OpenCV中,'hue','saturation'和'value'的值范围分别为0-179,0-255和0-255."Hue"表示颜色,"饱和度"表示相应颜色与白色混合的量,"值"表示相应颜色与黑色混合的量.


Int*_*net 5

根据http://en.wikipedia.org/wiki/HSL_and_HSV#Use_in_image_analysis

因为数字图像中物体颜色的R,G和B分量都与撞击物体的光量相关联,因此彼此相关,所以根据这些分量进行的图像描述使物体辨别变得困难。关于色相/亮度/色度或色相/亮度/饱和度的描述通常更相关。

这里还有一些很好的信息


Boy*_*nov 5

HSV颜色空间通过将其与饱和度和伪照明分离来抽象颜色(色调).这使得它适用于您提供的实际应用程序.