Преобразование изображений чертежей в упрощенный вывод с одинаковой шириной обводки.Python

Программы на Python
Anonymous
Преобразование изображений чертежей в упрощенный вывод с одинаковой шириной обводки.

Сообщение Anonymous »

Исходные изображения представляют собой нарисованные человеком эскизы неправильной формы и толстыми штрихами. Пример показан ниже:
Изображение

Цель заключается в извлечении базовой информации об обводке из этих изображений, создавая упрощенный вывод с постоянной шириной обводки (например, 2 пикселя), сохраняя при этом форму исходного рисунка. вывод аналогичен примеру ниже (это просто рисунок вручную, а не реальный вывод кода, поэтому он не такой точный).
Изображение

Если я запустил код для извлечения края и получения контура:

Код: Выделить всё

img = mpimg.imread('org1.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img = cv2.Canny(img, 50, 150)
kernel = np.ones((2, 2), np.uint8)
img = cv2.dilate(img, kernel, iterations=2)
img = cv2.medianBlur(img, ksize=5)
binary_image = np.zeros_like(img, dtype=np.uint8)
binary_image[img > 127] = 255
binary_image = 255 - img
img = binary_image
plt.imshow(img, cmap='gray')
Результат ниже не соответствует моим ожиданиям:
Изображение
Как решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/788 ... roke-width

Вернуться в «Python»