gpt4 book ai didi

python - 从图像中提取数字和字母特征

转载 作者:行者123 更新时间:2023-12-02 17:09:31 25 4
gpt4 key购买 nike

我正在编写一个 python 程序来对字母和数字进行分类。我已经编写了分类器,并且我有我的数据集的图像。我在 python 或处理图像方面真的没有太多经验。
我的问题是如何使用我拥有的图像创建我的数据集。如何创建具有它们形状的数组。我应该只为每个图像创建一个 numpy 数组吗?还是使用颜色直方图?
我可能会将所有图像转换为灰度。

我在下面找到了对猫和狗进行分类的链接。它使用两种方法来提取图像特征,但我不知道这是否适用于我的情况。

k-nn-classifier-for-image-classification

谁能指导我,例如,我可以将图像的特征提取到向量中,这样我就可以将这些数据写入我的“dataset.data”文件中吗?

我将使用如下图所示的图像:

Letter "e"

我什至考虑过将图像大小调整为 32x32 并创建一个 0 和 1 的位图来表示图像。

谁能指导我,例如,我可以将图像的特征提取到向量中,这样我就可以将这些数据写入我的“dataset.data”文件中吗?

谢谢你。

最佳答案

您通常希望创建一个 Numpy 数组来保存所有训练数据。通常将其排​​列成以下形状:
X_train.shape = (N, img.shape[0], img.shape[1])
其中 N 是集合中的图像数量。

这样,如果您使用单 channel (灰度),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 数据集作为示例。这是一个 example但你应该继续谷歌它。

如果您想获得更好的结果,您可能需要研究神经网络。同样,那里有很多教程,这里有一个 example using tensorflow .

关于python - 从图像中提取数字和字母特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46269163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com