So vektorisieren Sie ein Bild mit PythonPython

Python-Programme
Anonymous
 So vektorisieren Sie ein Bild mit Python

Post by Anonymous »

Gibt es eine Möglichkeit, ein Bild wie folgt in eine vektorisierte Form umzuwandeln:
Ich habe dies auf der Suche nach CNN-, Pillow- und CV2-Methoden nachgeschlagen, konnte jedoch online keine verfügbare Ressource zum Implementieren dieser Bildtransformation finden.
Ich danke Ihnen für Ihre Hilfe in dieser Angelegenheit.
Normales Bild:
Image

Vektorisiertes Bild:
Image

Update:
Ich habe die Bildsegmentierung mithilfe der SLIC-Methode implementiert. Das Folgende ist neuer Code und Ergebnis Bild.
Wie zu sehen ist, kommt das neue Bild dem vektorisierten Bild (gewünschtes Ergebnis) nahe, der Qualitäts-/Detailunterschied ist jedoch immer noch groß.
Irgendwelche weiteren Ideen?

Code: Select all

from skimage import data, segmentation, color
from skimage.future import graph
from matplotlib import pyplot as plt
from PIL import Image
from skimage import io

path='/home/user/Desktop/Image1.jpeg'
img = io.imread(path)

labels1 = segmentation.slic(img, compactness=50, n_segments=5000,
start_label=1)
out1 = color.label2rgb(labels1, img, kind='avg', bg_label=0)
out1 = Image.fromarray(out1, 'RGB')
out1.save('/home/user/Desktop/1.png')
g = graph.rag_mean_color(img, labels1, mode='similarity')
labels2 = graph.cut_normalized(labels1, g)
out2 = color.label2rgb(labels2, img, kind='avg', bg_label=0)
out2 = Image.fromarray(out2, 'RGB')
out2.save('/home/user/Desktop/2.png')

fig, ax = plt.subplots(nrows=2, sharex=True, sharey=True, figsize=(6, 8))

ax[0].imshow(out1)
ax[1].imshow(out2)

for a in ax:
a.axis('off')

plt.tight_layout()
plt.show()
Neues Bild (N_Segments=2000)
Image

Neues Bild (N_segmente=5000, benötigte 5 Minuten Rechenzeit)
Image

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post