我想使用MATLAB / Python-OpenCV来分割图像中的缺陷区域。
原始图片:
缺陷:
在第3个矩形处可以看到缺陷。
到目前为止我尝试了什么:
我需要更精确,更嘈杂的边界。由于阴影,矩形的边缘可能会有很大差异。
如何让阴影的边缘对阴影更加健壮? 到目前为止,我可以做些什么呢?
感谢您的帮助!
答案 0 :(得分:1)
高斯滤波器的拉普拉斯是零均值运算。如果您将一个强度为127的8位图像输入,它将返回以零为中心的图像数据。您必须使用任意值的过滤器偏差,通常是容器最大值的一半(因此在此8位示例中,偏差将为127)。您还可以通过将结果像素乘以常数来调整滤镜强度,这使得日志滤镜的效果更加明显。
日志过滤器将为一个非常强的过渡创建一个白色和一个黑色边缘。在水平或垂直方向上,找到实际边缘非常容易,因为您只需要取两者的平均位置。如果集成在一个很小的距离上,这将为您提供亚像素分辨率。
如果这些图像的照度非常相似,您可以使用注册和减法:
将怀疑含有缺陷的图像和参考图像标准化为某种强度。
注册(对齐)他们;你可以通过检测矩形上的三个点,然后移动并旋转其中一个图像来做到这一点。
从参考图像中减去可疑图像。这会给你一个错误图。您可以应用一个小模糊,然后使用紧密的LoG滤镜来消除噪音并使检测更准确。