Использование алгоритма Mean-Shift для сегментации изображения занимает очень много времени - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь сегментировать цветное изображение, используя алгоритм Mean-Shift, используя sklearn.Я использую IDE PyCharm, и у меня есть следующий код:

import cv2
import numpy as np
from sklearn.cluster import MeanShift, estimate_bandwidth
from sklearn.datasets.samples_generator import make_blobs
import matplotlib.pyplot as plt
from itertools import cycle
from PIL import Image

image = Image.open('sample_images/fruit_half.png').convert('RGB')
image = np.array(image)

origShape = image.shape
flat_image = np.reshape(image, [-1,3])

bandwidth2 = estimate_bandwidth(flat_image, quantile=0.1, n_samples=100)

ms = MeanShift(bandwidth2, bin_seeding=True)

ms.fit(flat_image)
labels=ms.labels_
print(flat_image)

Однако, когда я пытаюсь запустить код в PyCharm, кажется, что алгоритм Mean-Shift занимает очень много времени.После запуска кода я не получаю вывод (вот почему у меня была печать (flat_image) в конце кода, чтобы можно было узнать, когда код закончил работать).Даже после ожидания более двадцати минут мне кажется, что программа все еще работает и еще не завершилась, поскольку массив flat_image не выводится в качестве вывода.

Я не уверен, почему это такпроисходит.Любые идеи приветствуются.

...