2017-02-15 3 views
1

Я пытаюсь воссоздать трассировки на EKG, а затем накладывать их на новую сетку, но я застрял в том, как лучше всего отслеживать фактические трассировки. В следующих изображениях есть 6 отдельных штрихов, которые я хотел бы воссоздать по существу на белом фоне с сеткой. Любая помощь будет оценена по достоинству.OpenCV обнаруживает и трассирует самые темные линии на изображении и накладывает сетку

мне удалось найти края и обрезать это от JPG, так что весь я оставил с этим изображением: enter image description here

Я пытаюсь обнаружить обводка с findContours либо OpenCV в или преобразованиях поджилок линии, но мой край результаты после гауссовского размытия оставляют меня с: enter image description here .., что не очень полезно.

Линии Hough выглядеть следующим образом: enter image description here

Может кто-то мне точку в правильном направлении? Заранее спасибо.

Edit:

Я сделал Local гистограмму, а затем Гауссово размывание и другой оператор кэнни. Локальная гистограмма изображение было: enter image description here

, а затем оператор кэнни был: enter image description here

+0

Оптимальное обнаружение с помощью canny edge? –

+1

перед тем, как попробовать предварительно обработать ваше изображение –

+0

Я нашел эти края с canny, и это просто получилось так, есть ли определенные настройки для настройки? – nahata5

ответ

1

Вы можете попробовать использовать Собел и лапласиан детекторов следующим образом

img = cv2.imread('experiment.png') 
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
img = cv2.GaussianBlur(img,(3,3),0) 
laplacian = cv2.Laplacian(img,cv2.CV_64F)  
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=1) 

figure = plt.figure(figsize=(10,10)) 

sobel = figure.add_subplot(1,2,1) 
sobel.imshow(sobelx,cmap='gray') 
sobel.set_title('Sobel in x') 
sobel.set_axis_off() 

laplacianfig = figure.add_subplot(1,2,2) 
laplacianfig.imshow(laplacian,cmap='gray') 
laplacianfig.set_title('Laplacian') 
laplacianfig.set_axis_off() 

даст вам следующий вывод

enter image description here

Как вы можете видеть, S оператор obel может использоваться для обнаружения линий. Возможно, вы можете затем нарисовать те точки, где интенсивность пикселей ниже среднего.

Смежные вопросы