【发布时间】:2016-04-21 23:55:25
【问题描述】:
我有一堆彩色图像,上面有彩色圆点。这些点的颜色相似,但有时点的颜色也可能与我无法提取它们的背景图像相似。下面的图片可以是一个例子 Green dots on IR train image 我试图将颜色空间从 RGB 转换为 HSV;在 H 通道上应用模糊滤镜;在 H 通道上应用 sobel 滤波器;将 H 通道转换为二值图像;应用收缩并计算点数。但结果并不好。训练红外图像的结果,如下所示 Resulting train image
白点表示我找到的点,不是很正确。
那么我如何提取(找到)彩色图像上的那些绿点?
谢谢!
【问题讨论】:
-
按像素扫描图像并寻找与您的 RGB 值完全匹配的值。如果你知道你的“色点”有多大(以像素为单位),你可以计算触摸/相邻匹配,并确保大小匹配,以防止当背景区域恰好与你的点匹配时出现误报。您也可以通过这种方式小心捕捉重叠的色点。
-
@MichaelDorgan 感谢您的回复!但是如果绿点不是相同的像素值和相同的大小怎么办?有的深绿色,有的亮绿色,有的大,有的小?
-
您在原始问题中说“点的颜色相同”如果不是,您会以某种方式知道它们是什么吗?
-
@MichaelDorgan 对不起,我应该把我的问题改成“相似颜色”! :)
-
好的,那你需要定义类似的。这可能意味着很多很多事情。浅绿色和深绿色是一样的。究竟什么是浅绿色和深绿色?需要某种启发式方法。即使是像添加 R、G、B 三元组这样简单的事情——如果值的变化超过某个数字,它们就不相似。这里的问题是人眼认为大多数深色非常接近,但较浅颜色的细微差异很容易看到。 R、G、B 灵敏度相同。但是,只要您将相似的值保持在某个设定值附近,我认为它会给您一个起点。