Обнаружение края Собеля с помощью opencv - PullRequest
0 голосов
/ 04 июля 2018

Я использую встроенную операцию Sobel edge в openCV для некоторых целей обработки изображений, но результаты не соответствуют ожидаемым для функции.

sobel=cv2.Sobel(img,cv2.CV_64F,0,1,ksize=3)
cv2.imshow('Sobel Image',sobel)

Я прилагаю примерное изображение входного изображения и полученного результата. Пожалуйста, помогите мне в этом. Слева - входное изображение, а справа - результирующее изображение.

enter image description here

1 Ответ

0 голосов
/ 04 июля 2018

Для этого изображения необходимо пороговое изображение перед использованием оператора Собеля для уменьшения шума.

image = cv2.imread('image.jpg',cv2.IMREAD_UNCHANGED)

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

ret,binary = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU | cv2.THRESH_BINARY_INV)

H = cv2.Sobel(binary, cv2.CV_8U, dx=0, dy=1, ksize=3)
V = cv2.Sobel(binary, cv2.CV_8U, dx=1, dy=0, ksize=3)

H V

...