我有一系列两种类型的二维图像,星形或五边形。我的目标是分别对所有这些图像进行分类。我有 30 张星星图像和 30 张五边形图像。这里并排显示了每个图像的示例:
在应用 KNN 分类算法之前,我需要从所有图像中提取特征向量。特征向量必须具有相同的大小,但是二维图像的大小都不同。我已经提取了图像中的读取内容,并返回了一个包含零和一的二维数组。
image = pl.imread('imagepath.png')
我的问题是如何处理图像
以生成有意义的特征向量,该特征向量包含足够的信息以允许我进行分类。它必须是每个图像的单个向量,我将使用它来进行训练和测试。
最佳答案
如果你想使用 opencv 那么:
将图像大小调整为标准尺寸:
import cv2
import numpy as np
src = cv2.imread("/path.jpg")
target_size = (64,64)
dst = cv2.resize(src, target_size)
转换为一维向量:
dst = dst.reshape(target_size.shape[0] * target_size.shape[1])
关于python - 从 numpy 中的二维图像中提取特征向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49180941/