【问题标题】:How to determine color in MATLAB如何在 MATLAB 中确定颜色
【发布时间】:2016-02-01 05:30:24
【问题描述】:

我想将 HSV 值映射到 MATLAB 中的颜色名称。我已将 RGB 转换为 HSV 并使用一系列 if 语句对值进行阈值化以确定颜色。但是,我想将值映射到定义的颜色名称。这在 MATLAB 中可行吗?

【问题讨论】:

  • hsv2rgb 将为您提供 rgb 颜色值。
  • 您好,欢迎您。请注意,处理标签(已删除)用于 processing.org

标签: matlab image-processing colors hsv


【解决方案1】:

如果您使用的是 mxnx3(即 3 通道的 2D)RGB 图像im,则通常红色通道为im(:,:,1),绿色为im(:,:,2),蓝色为im(:,:,3)。因此,如果您想要某个点 (x, y) 的 RGB 值,那么您可以通过im(x,y,:) 获取向量。

如果你只是想将HSV值转换为RGB,那么你可以使用函数hsv2rgb.

【讨论】:

  • 谢谢,但我的意思是我想定性地知道数组中的颜色,而不仅仅是 RGB 值。
  • 哦,比如“这个颜色是淡蓝色”?这真的是一个非常开放的问题(毕竟一个人的淡蓝色就是另一个人的天蓝色)。为此,您需要定义从颜色空间到您感兴趣的颜色名称集的映射。例如,CSS color names. 一种方法是定义一个查找表,其中键是十六进制值(或 RGB 三元组或其他唯一值),值是颜色名称。但是您必须自己选择映射。
  • 没错。我试图做一些与色调色轮对齐的事情,不同的颜色范围由不同的角度给出。但我不确定如何开始在 matlab 中实现它。
  • Matlab 有一个可能有用的 containers.Map 类,虽然我自己从未使用过它,所以我不能保证它。一般来说,阅读哈希表以了解此类问题通常是如何解决的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多