我正在尝试使用 MATLAB 及其图像处理工具箱检测一系列图像中的脏地板区域,如下所示:
在上图中,有两个不同的区域,较白的地板被认为是干净的,而肮脏的地板是黄色警告标志之外的区域。我正在寻找检测这些差异的方法。
一个相关问题是沿路径的照明强度和颜色可能不是恒定的。
我已经在较小的样本图像(取自下图)之间尝试了 2D 互相关,但它不是很有效。
我的方法是这样的:
屏蔽输入图像中不相关的特征(例如,除白色走廊外的走廊);
输入图像(分析目标)和全样本图像的RGB到灰度转换;
提取样本图像的一部分并提取其直方图;
对输入图像使用直方图均衡化,使用样本的直方图(histeq);
在输入图像和样本图像之间运行 normxcorr2;
在输入图像上绘制任意常数(例如 xCorr < 0.8)以下的所有点以检测“脏”区域。
也许图像分割的深度学习将是最有效的方法,但我目前没有时间实现它。
在这种情况下还有其他更有效的建议吗?

