我有一张二进制图像,其中包含一些矩形形状,其中只有边缘完全可见。我想连接缺失的线条并制作完整的矩形。如何使用 Open... 实现此目的
我有一张二值图像,其中包含一些矩形形状,其中只有边缘完全可见。我想连接缺失的线条并制作完整的矩形。如何使用 OpenCV 实现这一点。
我的目标结果如下:
我正在做一个项目,用于检测前额的 Omega 状皱纹(抑郁症的诊断特征)。根据这篇论文,我发现 Hessian 过滤器是检测皱纹的好方法:Yap,M....
我正在开展一个项目,用于检测前额的 Omega 状皱纹(抑郁症的诊断特征)。根据这篇论文,我发现 Hessian 滤波器是检测皱纹的好方法:
Yap, MH、Alarifi, J.、Ng, C.、Batool, N. 和 Walker, K. (2019)。自动面部皱纹注释器。计算机科学讲义(第 676-680 页)。https: https://doi.org/10.1007/978-3-030-11018-5_5
我使用了 skimage 的 hessian 过滤器,尽管根据 这个 ,但对我来说已经足够了。
我按顺序应用了以下内容:
这是我的代码:
image = io.imread("1.jpg", as_gray=True)
image = cv2.GaussianBlur(image, (5,5), 0)
hessian_image = filters.hessian(image)
kernel = np.ones((5,5), np.uint8)
closing = cv2.morphologyEx(hessian_image, cv2.MORPH_CLOSE, kernel)
closing = np.array(np.divide(closing, np.amax(closing)), dtype=np.float64)
closing *= 255
closing = np.uint8(closing)
cv2.imshow("Closing", closing)
cv2.waitKey(0)
这是输入图像:
这是输出图像:
我无法使用模板匹配检测类似 Omega(或类似矩形)的形状,因为它们在不同图像之间会有所不同。您还有其他想法吗?