Anonymous
Как я могу векторизовать изображение с помощью Python?
Сообщение
Anonymous » 29 ноя 2025, 03:10
Как преобразовать изображение в векторизованную форму?
Обычное изображение:
Векторизованное изображение:
Сегментацию изображений я реализовал методом SLIC. Результат близок к желаемому, но разница в качестве/детализации по-прежнему велика.
Код: Выделить всё
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()
Новое изображение (
):
Новое изображение (
, заняло 5 минут):
Подробнее здесь:
https://stackoverflow.com/questions/703 ... ing-python
1764375015
Anonymous
Как преобразовать изображение в векторизованную форму? Обычное изображение: [img]https://i.sstatic.net/yCMXP.jpg[/img] Векторизованное изображение: [img]https://i.sstatic.net/se4Y9.png[/img] Сегментацию изображений я реализовал методом SLIC. Результат близок к желаемому, но разница в качестве/детализации по-прежнему велика. [code]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() [/code] Новое изображение ([code]N_Segments=2000[/code]): [img]https://i.sstatic.net/nD74t.png[/img] Новое изображение ([code]N_segments=5000[/code], заняло 5 минут): [img]https://i.sstatic.net/lMxSM.png[/img] Подробнее здесь: [url]https://stackoverflow.com/questions/70362019/how-can-i-vectorize-an-image-using-python[/url]