Python 从图像中提取数字和字母特征
我正在编写一个python程序来对字母和数字进行分类。我已经编写了分类器,并且为我的数据集提供了图像。我真的没有太多的python或图像处理经验。 我的问题是如何用我拥有的图像创建数据集。如何创建类似阵列的形状。我应该为每个图像创建一个numpy数组吗?还是使用颜色直方图? 我可能会将所有图像转换为灰度 我找到了分类猫和狗的链接。它使用两种方法提取图像特征,但我不知道这是否适用于我的情况 有人能给我指点迷津吗?例如,我能把图像的特征提取到一个向量中,这样我就可以把这些数据写到我的“dataset.data”文件中吗 我将使用如下图片: 我甚至考虑过将图像大小调整为32x32,并创建一个0和1的位图来表示图像 有人能给我指点迷津吗?例如,我能把图像的特征提取到一个向量中,这样我就可以把这些数据写到我的“dataset.data”文件中吗Python 从图像中提取数字和字母特征,python,opencv,scikit-image,Python,Opencv,Scikit Image,我正在编写一个python程序来对字母和数字进行分类。我已经编写了分类器,并且为我的数据集提供了图像。我真的没有太多的python或图像处理经验。 我的问题是如何用我拥有的图像创建数据集。如何创建类似阵列的形状。我应该为每个图像创建一个numpy数组吗?还是使用颜色直方图? 我可能会将所有图像转换为灰度 我找到了分类猫和狗的链接。它使用两种方法提取图像特征,但我不知道这是否适用于我的情况 有人能给我指点迷津吗?例如,我能把图像的特征提取到一个向量中,这样我就可以把这些数据写到我的“datase
谢谢。您通常需要创建一个Numpy数组来保存所有训练数据。通常按以下形状排列:
X_train.shape=(N,img.shape[0],img.shape[1])
其中N是集合中的图像数
这样,如果使用单通道(灰度),X_train[i,:,:]
将保存第i个图像像素的值。请注意,建议规范化这些值,但这取决于您选择的训练模型
下面是一个快速示例,说明如何创建和构建这样的阵列:
import numpy as np
import cv2
X = np.zeros((N, IMG_SIZE[0], IMG_SIZE[1]), dtype=np.float32)
y = np.zeros((N))
for idx, img_path in enumerate(images_path):
img = cv2.imread(img_path)
assert ((img.shape[0], img.shape[1]) == IMG_SIZE)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
X[idx, :, :] = gray
y[idx] = # label of this image
# if you wish to normalize:
X = (X/255.0) - 0.5
有很多关于数字分类器的教程,通常以MNIST数据集为例。这里有一个,但你应该继续,谷歌它
如果你想获得更好的结果,你可能想研究神经网络。还有很多教程,这里有一个。您通常希望创建一个Numpy数组来保存所有训练数据。通常按以下形状排列:
X_train.shape=(N,img.shape[0],img.shape[1])
其中N是集合中的图像数
这样,如果使用单通道(灰度),X_train[i,:,:]
将保存第i个图像像素的值。请注意,建议规范化这些值,但这取决于您选择的训练模型
下面是一个快速示例,说明如何创建和构建这样的阵列:
import numpy as np
import cv2
X = np.zeros((N, IMG_SIZE[0], IMG_SIZE[1]), dtype=np.float32)
y = np.zeros((N))
for idx, img_path in enumerate(images_path):
img = cv2.imread(img_path)
assert ((img.shape[0], img.shape[1]) == IMG_SIZE)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
X[idx, :, :] = gray
y[idx] = # label of this image
# if you wish to normalize:
X = (X/255.0) - 0.5
有很多关于数字分类器的教程,通常以MNIST数据集为例。这里有一个,但你应该继续,谷歌它
如果你想获得更好的结果,你可能想研究神经网络。同样,还有很多教程,这里有一个。我想你可能正在寻找这个: Sklearn是一个非常容易学习的机器学习软件包,包含大量教程。
希望有帮助,我想您可能正在寻找: Sklearn是一个非常容易学习的机器学习软件包,包含大量教程。 希望有帮助