Я пытаюсь найти способ преобразовать изображение .png с 1PX -строками в векторный файл. Проблема у меня возникает в том, что мои подходы очень непоследовательны из -за тонких линий, которые я пытаюсь распознать. это:
https://geoservices.bayern.de/od/wms/al ... _parzellar karte_umr_schwarz & styles = & format = image/jpeg & crs = epsg: 4326 & bbox = 48.140000,11.560000,48.145000,11.565000 & ширина = 2048 и высота = 2048
Есть ли другой способ автоматически преобразовать это в векторный файл?import sys
import cv2
import numpy as np
import svgwrite
import os
def raster_to_svg(input_path, output_path=None, simplify=False):
img = cv2.imread(input_path, cv2.IMREAD_GRAYSCALE)
if img is None:
print(f"Fehler: Bild konnte nicht geladen werden: {input_path}")
return
inv = cv2.bitwise_not(img)
_, thresh = cv2.threshold(inv, 127, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
height, width = img.shape
if not output_path:
output_path = os.path.splitext(input_path)[0] + "_white_areas.svg"
dwg = svgwrite.Drawing(output_path, size=(width, height))
for contour in contours:
if len(contour) < 3:
continue # Kein gültiges Polygon
points = [(int(p[0][0]), int(p[0][1])) for p in contour]
if simplify:
epsilon = 1.0 # Toleranz für Polygonvereinfachung
approx = cv2.approxPolyDP(contour, epsilon, True)
points = [(int(p[0][0]), int(p[0][1])) for p in approx]
dwg.add(dwg.polygon(points=points, fill='white', stroke='black', stroke_width=0.1))
dwg.save()
print(f"SVG gespeichert unter: {output_path}")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Verwendung: python raster_to_svg.py bild.png [output.svg]")
else:
input_file = sys.argv[1]
output_file = sys.argv[2] if len(sys.argv) > 2 else None
raster_to_svg(input_file, output_file)
< /code>
Но теперь я борюсь с тем, как представлены пиксели:
Источник:
< /p>
result:
Подробнее здесь: https://stackoverflow.com/questions/796 ... -1px-lines
PNG -изображение в векторный графический метод преобразования с распознаванием линий 1PX? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
PNG -изображение в векторный графический метод преобразования с распознаванием линий 1PX?
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-