Python skimage daisy 不同大小的特征向量
Python skimage daisy different sizes of feature vectors
我正在使用 skimage 和 sklearn 训练数据集 food101 的图像分类器
def process_image(image_fp):
image_ = imread(image_fp)
resize(image_, (400, 350)).shape
image=rgb2gray(image_)
descs=skimage.feature.daisy(image, step=180, radius=58, rings=2, histograms=6, orientations=8)
if descs.shape[0]!=3:
descs=descs.transpose(1, 0, 2)
return descs.reshape(descs.size).tolist()
当谈到:
clf = grid_search.GridSearchCV(svm.SVC(), parameters).fit(x_train, y_train)
由于函数 'process_image' 的 return 大小不同而出现错误。
我可以通过只选择元素较少的列表的元素数来解决问题,但我认为它可能有更正确的方法来做。
我想你跳过了调整图片大小的步骤。
更改此行:
resize(image_, (400, 350)).shape
到这一行:
image_ = resize(image_, (400, 350))
最终函数:
def process_image(image_fp):
image_ = imread(image_fp)
image_ = resize(image_, (400, 350))
image=rgb2gray(image_)
descs=skimage.feature.daisy(image, step=180, radius=58, rings=2, histograms=6, orientations=8)
if descs.shape[0]!=3:
descs=descs.transpose(1, 0, 2)
return descs.reshape(descs.size).tolist()
当我更改它时,结果如下所示:
更改代码之前:
Random image size: (445, 578, 3)
Daisy vector size: 624
更改代码后:
Random image size: (400, 350, 3)
Daisy vector size: 416
我正在使用 skimage 和 sklearn 训练数据集 food101 的图像分类器
def process_image(image_fp):
image_ = imread(image_fp)
resize(image_, (400, 350)).shape
image=rgb2gray(image_)
descs=skimage.feature.daisy(image, step=180, radius=58, rings=2, histograms=6, orientations=8)
if descs.shape[0]!=3:
descs=descs.transpose(1, 0, 2)
return descs.reshape(descs.size).tolist()
当谈到:
clf = grid_search.GridSearchCV(svm.SVC(), parameters).fit(x_train, y_train)
由于函数 'process_image' 的 return 大小不同而出现错误。
我可以通过只选择元素较少的列表的元素数来解决问题,但我认为它可能有更正确的方法来做。
我想你跳过了调整图片大小的步骤。
更改此行:
resize(image_, (400, 350)).shape
到这一行:
image_ = resize(image_, (400, 350))
最终函数:
def process_image(image_fp):
image_ = imread(image_fp)
image_ = resize(image_, (400, 350))
image=rgb2gray(image_)
descs=skimage.feature.daisy(image, step=180, radius=58, rings=2, histograms=6, orientations=8)
if descs.shape[0]!=3:
descs=descs.transpose(1, 0, 2)
return descs.reshape(descs.size).tolist()
当我更改它时,结果如下所示:
更改代码之前:
Random image size: (445, 578, 3)
Daisy vector size: 624
更改代码后:
Random image size: (400, 350, 3)
Daisy vector size: 416