我正在尝试使用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算法似乎花费了很长时间。运行代码后,我没有任何输出(这就是为什么在代码末尾有print(flat_image)以便能够知道代码何时完成运行的原因)。即使在等待了二十多分钟之后,在我看来该程序仍在运行并且尚未完成,因为flat_image数组没有被打印为输出。
我不确定为什么会这样。任何见解都会受到赞赏。