Skip to content

利用 C 语言或 python 使用 KNN 算法实现手写字母和数字的识别(C 语言大作业)

Notifications You must be signed in to change notification settings

FuxuanNet/KNN-handwritten-character

Repository files navigation

KNN-Handwritten-Digit-Recognition

这是一份大一的 C 语言大作业,利用 KNN 算法实现手写字符识别,同时也提供了 Python 的版本。

项目介绍

基于 KNN 算法实现手写字符识别

数据集包括了字母和数字

先尝试用 Python 实现,然后尝试用 C 语言复现

如何运行

  1. 数据集.zip 解压,将 Img 文件夹放在代码的同级目录里。

  2. 选取一张手写的要预测的图片,放到 test 文件夹里。

  3. 更改 bin.pybin.ipynb 的倒数第二行和倒数第三行,将文件路径改为 test 里自己要预测的图片的图片文件名,例如我的图片名叫做 9.png

      # 导入判断图片并转化
    file_in = "test\\9.png"  # 自定义上传图片路径
    file_out_int = "test\\9.txt"  # 自定义保存 txt 文件路径
    handle_char(file_in, width, height, file_out_int)
  4. 运行 bin.pybin.ipynb,将图片二值化。

  5. 运行 matrix.pymatrix.ipynbmatrix.c,预测手写数字。

    gcc -o matrix matrix.c -lgdi32 -lcomdlg32 -lshlwapi

文件夹说明

  • bin.py 数据预处理

  • matrix.py KNN 算法实现

  • data 数据集

  • test 里面存放需要识别的图片

    • 暂时还没有测试集数据。可以考虑在这里装置测试集,找出最佳的 K 值。

项目进度

  • Python 实现

    • 数据预处理

    • KNN 算法实现

    • 测试集实现

    • 手写字符识别

  • C 语言复现

    • 数据预处理

    • KNN 算法实现

    • 测试集实现

    • 手写字符识别

About

利用 C 语言或 python 使用 KNN 算法实现手写字母和数字的识别(C 语言大作业)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published