【问题标题】:How to compare color information between two different resolution images?如何比较两个不同分辨率图像之间的颜色信息?
【发布时间】:2023-03-16 04:37:01
【问题描述】:
我想比较两个不同分辨率的图像的颜色内容。要比较的信息应该在一个特定的位置,而不是整个图像。例如不同分辨率图像的左上角(具体坐标因分辨率而异)。我使用 SURF 进行缩放,但在比较时它使用原始 RGB 图像的 HSV。所以我无法在颜色方面进行比较。请在 MATLAB 中建议代码来执行此操作。
【问题讨论】:
标签:
matlab
image-processing
colors
computer-vision
【解决方案1】:
HSV 是一个颜色空间,就像 RGB https://en.wikipedia.org/wiki/HSL_and_HSV 您实际上可以使用 rgb2hsv 和 hsv2rgb 从一个颜色空间转换为另一个颜色空间所以如果您使用 RGB 指定感兴趣的颜色,您可以将其转换为 HSV 而不会出现任何问题.
在进行分割时,HSV 有一些优点,但最大的优点是它是光照不变的。如果您正在寻找红色对象,请指定hue=0.1,即使对象部分处于阴影中并且其中一些光线充足,您仍然可以识别它。在 RGB 中,您需要指定一些颜色范围,例如 (1,0,0), (2,0,0), (3,0,0),.... (255,0,0) 您可以看到形成这个简单的例子 HSV 可以简化你的颜色匹配算法