利用Python进行数字识别

利用Python进行数字识别,第1张

在Java项目里写了一个RGBUtils的class,将32x32像素的图片全部数字化输出:

这是我在PS新建的32x32像素的数字9:

首先将32x32像素的图片转变成一行1024(=32x32)空间坐标,其实就相当于一个1024维的空间。TainData 里面有两千条数据就相当于有两千个点。

我们新建一个方法叫classify,就是把我们要测试的点放到训练数据空间里,看离他最近的k个点是什么值,这里我们K设置为5

我之前写的3的数字也变成1024维空间的点,选择最近的五个点进行判断。

原来图片

https://github.com/MichaelYipInGitHub/PythonTest/blob/master/com/test/knn/IdentifImg.py

1.Python没用封装KNN 算法, 因为太简单,可以直接手写。

2.从图片上看, 我用粗笔写的数字能识别到,细笔写的就识别不到,这可能与我的训练数据多为粗笔字体。

3.数字识别可以引申到动物识别,人物识别,不过他们用的像素不只是0和1,数据会更加庞大, 算法更加复杂。

<HTML>

<HEAD><TITLE>动物数</TITLE>

<script language="vbscript">

sub animal

dim x,y,z

for x=0 to 18

for y=0 to 18

for z=0 to 18

if (x+y+z=18)and(8*x+6*y+6*z=118)and(2*y+z=20) then

MsgBox "蜘蛛有" &x &"只,蜻蜓有" &y &" 只,蝉卖者有" &z &"只。 "

end if

next

next

next

End Sub

</SCRIPT>

</HEAD>

<body>

<script language="vbscript"扮配岁>

Call animal

</SCRIPT>

</BODY>厅睁

</HTML>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12492641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存