Реконструкция и отображение изображения из его суперпиксельного представления

Я хотел бы восстановить и отобразить изображение из его суперпиксельного представления.

Давайте проиллюстрируем это на простом примере:

У меня есть (224,224,3) изображение. Я применяю на нем суперпиксельный алгоритм SLIC для получения суперпикселей.

Вот мой код:

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt


def sp_idx(s, index=True):
    u = np.unique(s)
    return [np.where(s == i) for i in u]

    image_index=[] # store the index of pixels affected to each superpixel
    image_superpixels=[] # store the RGB pixel values of the pixels of all superpixels
    img = skimageIO.imread(image_1)
    segments_slic = slic(img, n_segments=1000, compactness=0.01, sigma=1)
    superpixel_list = sp_idx(segments_slic)# get pixel and superpixel index
    image_index.append(superpixel_list)
    superpixel = [img[idx] for idx in superpixel_list]
    superpixel = np.asarray(superpixel)
    image_superpixels.append(superpixel)

Теперь даны суперпиксели изображения:

Как можно отобразить изображение в суперпиксельном формате?

Я хотел бы получить что-то вроде следующего:

`plt.imshow(image_1)` and `plt.imshow(image_superpixels)`

показать то же самое (по крайней мере, визуально сопоставимые)

0 ответов

Другие вопросы по тегам