np.reshape():根据rgb强度将图像转换为特征数组
np.reshape(): Converting an image into a feature array based on rgb intensities
我正在尝试使用 sklearn 使用 Mean-Shift 算法分割彩色图像。
我有以下代码:
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')
image = np.array(image)
#need to convert image into feature array based on rgb intensities
flat_image = np.reshape(image, [-1,3])
我正在尝试根据 rgb 强度将图像转换为特征数组,以便进行聚类。
但是,我收到以下错误:
ValueError: cannot reshape array of size 3979976 into shape (3)
我不确定为什么会收到此错误以及如何解决此问题。任何见解表示赞赏。
因为你加载的图片没有RGB值(如果你看尺寸,最后一个是4。
您需要先将其转换为 RGB,如下所示:
image = Image.open('sample_images/fruit_half.png').convert('RGB')
image = np.array(image)
# Now it works
flat_image = np.reshape(image, [-1,3])
我正在尝试使用 sklearn 使用 Mean-Shift 算法分割彩色图像。 我有以下代码:
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')
image = np.array(image)
#need to convert image into feature array based on rgb intensities
flat_image = np.reshape(image, [-1,3])
我正在尝试根据 rgb 强度将图像转换为特征数组,以便进行聚类。 但是,我收到以下错误:
ValueError: cannot reshape array of size 3979976 into shape (3)
我不确定为什么会收到此错误以及如何解决此问题。任何见解表示赞赏。
因为你加载的图片没有RGB值(如果你看尺寸,最后一个是4。
您需要先将其转换为 RGB,如下所示:
image = Image.open('sample_images/fruit_half.png').convert('RGB')
image = np.array(image)
# Now it works
flat_image = np.reshape(image, [-1,3])