【问题标题】:Max color used in a RGB imageRGB 图像中使用的最大颜色
【发布时间】:2011-07-05 19:15:36
【问题描述】:

我有一些 RGB 图像。

了解图像中使用的大多数颜色是红色、黄色还是白色的最佳方法是什么? 输入图像必须具有超过 50% 的红色、黄色或白色像素,并且图像不可能具有相同百分比的两种颜色。 图像中的其他颜色可能是黑色或蓝色。

MATLAB 里面有这个功能吗?

请注意,我需要一种性能良好的方法!

提前谢谢...

【问题讨论】:

标签: image matlab rgb


【解决方案1】:

将您的图像转换为HSV colorspace (rgb2hsv) 并在色调值上找到适当的红色、黄色和白色阈值。例如。

[H S V] = rgb2hsv(I);
num_red_pixels = nnz(H>=red_min & H<=red_max);

【讨论】:

  • 感谢您的回答,但有没有更好的方法?我认为,仅仅为了知道使用的最大颜色而转换图像并不是一个好主意。我可以使用histogram吗?
  • 您担心速度吗?首先计算将 RGB 图像转换为 HSV 所需的时间,如果有问题,然后寻求其他算法。先剖析一下。您可以使用tictoc
  • 是的,您可以只使用基于 RGB 的阈值,但根据情况,结果可能会有所不同。 HSV 更健壮。如果您想坚持使用 RGB,则必须为 R、G 和 B 分量找到正确的阈值,而不仅仅是为 H 找到一个阈值。
猜你喜欢
  • 2018-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
  • 2019-07-02
  • 2020-04-27
  • 2011-06-07
  • 2017-11-08
相关资源
最近更新 更多