image-processing - HSI 和 HSV 颜色空间

标签 image-processing computer-vision

HSI 和 HSV 颜色空间有什么区别?我想使用 HSI 色彩空间,但我没有找到任何对 HSI 有用的 Material 。 HSI 和 HSV 一样吗?

最佳答案

HSI、HSV 和 HSL 都是不同的色彩空间。三个模型之间的色调计算(据我所知)相同,并使用 6 件分段函数来确定它,或者对于精确到 1.2 度以内的更简单模型,atan((sqrt(3)⋅(G-B))/2(R-G-B))可以使用。在大多数情况下,这两者是可以互换的,但通常 HSV 和 HSL 使用分段模型,而 HSI 通常使用 arctan 模型。可以使用不同的方程,但这些通常会为了简单或更快的计算而牺牲精度。

对于亮度/值/强度,三个空间使用略有不同的表示。

  • 通过简单地平均 RGB 值来计算强度:(1/3)⋅(R+G+B) .
  • 亮度平均 RGB 的最小值和最大值:(1/2)⋅(max(R,G,B) + min(R,G,B)) .
  • 值最简单,就是RGB的最大值:max(R,G,B) .

  • 在后续计算中使用时,L/V/I 被缩放到 0 和 1 之间的小数。

    饱和度是三个模型差异最大的地方。对于所有 3,如果 I/V/L 为 0,则饱和度为 0(这是用于黑色,因此其表示是明确的),如果亮度最大,HSL 还会将饱和度设置为 0(因为对于 HSL,最大亮度意味着白色)。
  • HSL 和 HSV 占 RGB 的最小值和最大值,取两者之差:max(R,G,B) - min(R,G,B) ,此值有时称为色度 (C)。
  • HSV 然后获取色度并将其除以值以获得饱和度:C/V .
  • HSL 将色度除以考虑亮度的表达式:C/(1-abs(2L-1)) .
  • 恒指不使用色度,只取min(R,G,B)考虑到:min(R,G,B)/I .

  • 来源
  • 维基百科:HSL and HSV
  • 维基百科:Hue
  • 关于image-processing - HSI 和 HSV 颜色空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20853527/

    相关文章:

    android - 在 android ScrollView 上显示更大的标尺

    c# - 将 RAW 字节数据转换为位图

    android - 触摸点区域时扭曲图像区域?

    c++ - 从 Pixel Patch OpenCV 获取方向直方图

    c++ - opencv中的跳跃视频处理

    image-processing - opencv中的低通滤波器

    matlab - 在 MATLAB 中调整图像大小

    c++ - 如何在PCL中增加积分

    matlab - 使用 Matlab 从 VLFeat 中的 SIFT 描述符中提取 VLAD

    python - CvSize 不存在?