如何使用图像处理区分两种类型的图像?

Posted

技术标签:

【中文标题】如何使用图像处理区分两种类型的图像?【英文标题】:How to differentiate between two types of images using image processing? 【发布时间】:2020-11-03 06:34:03 【问题描述】:

我有两类使用 MaskRCNN 分割的图像。第一类包含汽车上的凹痕图像。

第二类包含被 Mask RCNN 检测为凹痕的落在汽车上的反射/阴影图像。

在图像处理中有什么方法可以区分相同的吗?我尝试了 Canny、Gaussian、LBP、SIFT、分水岭等。任何人都可以提出合适的方法。

提前致谢!!

【问题讨论】:

【参考方案1】:

如果阴影的图像通常比凹痕更暗,您可以将图像转换为 HSV,并比较像素的平均 V 值。 V值包含像素的亮度。

您可以使用hsv_img = cv2.cvtColor(img, cv2.BGR2HSV)

【讨论】:

我将 RGB 图像转换为 HSV 并拆分 HSV 值并使用 np.average(v) 找到 V 的平均值,这是您的意思吗?我得到了相同范围的凹痕和反射值。还有其他可能的方法吗? 如果您对单个图像中每个像素的所有 V 值进行平均,您将得到一个整数(我不明白您所说的范围是什么意思)。您可以比较两个图像之间的整数。如果凹痕图像通常比反射更亮,则凹痕图像通常应该具有更大的整数。您可以设置一定的限制,如果整数低于限制,则为反射,如果更高,则为凹痕。您可以通过“反复试验”来设置限制,或者如果您知道标签,则可以使用其他分类模型。 要使这个工作,您应该确认凹痕图像实际上比反射图像更亮。如果不是这种情况,您可以使用其他值,例如颜色值。如果一个人具有某些颜色属性。

以上是关于如何使用图像处理区分两种类型的图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何区分具有对象坐标的两个图像?

UI 自动化 - 如何区分正在显示的图像

如何使用 DCMTK 命令区分来自两个不同制造商的 CT 图像?

如何区分二值图像和灰度图像?

如何区分 Outlook 2010 中的内联图像和附件 [C#]

如何区分照片和文字图像