0

我能够使用形态梯度很好地检测图像中的主要硬边缘 - 见下图。如何处理此图像以仅提取最硬/最白的边缘?阈值化要么导致图像非常嘈杂,要么导致缺乏细节/过度侵蚀的硬边缘。

在此处输入图像描述

我的阈值结果: 在此处输入图像描述

我的目标是这样的: 在此处输入图像描述

*注意:我正在尝试使用形态梯度操作作为一种轻量级的方法来检测图像中的硬/主要边缘。OpenCV 代码将在 raspberry pi 机器人上运行,因此我正在努力提高我的资源的效率 - 因此我使用的是形态梯度而不是 Canny 等。

原图: 在此处输入图像描述

4

1 回答 1

0

我最初说的是高斯差,但你已经有了更好的阈值图像。

所以我将第一张图像作为输入并执行Otsu Threshold。我使用从函数中获得的图像cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)来检测线条。

使用检测线cv2.HoughLinesP()

我的(不太好)结果:

在此处输入图像描述

您可以选择在原始图像上绘制线条。

于 2017-03-12T08:29:46.193 回答