小编den*_*kiz的帖子

Python中噪声图像的多曲线检测

我有与下面类似的图像。首先,我试图检测这些图像中的曲线。我想要捕获的曲线已标记在图像上。接下来,我想将这些曲线拟合到圆中。我将使用这些圆的半径作为结果。但我在检测图像中的曲线时遇到问题。非常感谢任何帮助。提前致谢。

输入图像

预期的

裁剪图像 预期裁剪

这是我用来检测和绘制曲线的代码:

import cv2
import numpy as np
from skimage.feature import peak_local_max
from skimage.morphology import watershed
from scipy import ndimage

image = cv2.imread("croppedImage.png")

img = cv2.medianBlur(image,13)

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

thresh = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,\
            cv2.THRESH_BINARY,45,0)

kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,3))
kernel1 = np.ones((3, 3), np.uint8)
kernel2 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3))
dilate = cv2.dilate(thresh, kernel1, iterations=1)
erode = cv2.erode(dilate, kernel,iterations=1)

# Remove small noise by filtering using contour area
cnts = cv2.findContours(erode, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]

for …
Run Code Online (Sandbox Code Playgroud)

python opencv curve-fitting best-fit-curve scikit-image

5
推荐指数
0
解决办法
3443
查看次数