资讯专栏INFORMATION COLUMN

Python数据分析:手写数字识别初步

Reducto / 995人阅读

摘要:手写数字识别是图像处理的基础,首先需要安装,我们需要以管理员身份打开命令行并输入,如果提示需要更新,我们输入先更新,这时再安装就没问题了。

1.手写数字识别是python图像处理的基础,首先需要安装pillow,我们需要以管理员身份打开Windows命令行并输入pip install pillow,如果提示pip需要更新,我们输入python -m pip install --upgrade pip先更新pip,这时再安装pillow就没问题了。

2.首先我们需要引入和图片识别有关的库,输入from PIL import Image进行引入,引入后我们就可以打开要进行操作的图片了,这里需要用到Image中的open()函数和save()函数,open()函数用来打开文件,save()函数用来将图片保存为我们需要的格式。

3.然后我们需要确定图片的长和宽,调用size()函数可以返回一个以图片的宽和高为元素的元组,这时获取图片的宽和高就可以用元素下标的方式。

4.我们在识别时要得到一个用1标识出数字的文本文档,第一个图为我用电脑的画图随便写的数字6,第二个图是经过识别得出的文本文档,我们可以看出,第二个图中用1标出了手写体的数字6的形状。因此我们在数字识别的过程中需要知道每一个位置的rgb编码,这个调用getpixel()即可实现,我们知道,黑色的rgb编码的三个数的和为0,我们要得到一个用0和1标识出来的图像,只需在rgb编码数之和为0的位置写入1,其余不为0的位置写入0。

5.编码实现:

from PIL import Image
im = Image.open("C:/Users/21974/Desktop/handwrite.PNG")
im.save("C:/Users/21974/Desktop/handwrite.bmp")
df = open("C:/Users/21974/Desktop/practicePil.txt", "a")    #打开一个文本用于接下来的写入操作
width = im.size[0]
height = im.size[1]
for i in range(0, width):
    for j in range(0, height):
        k = im.getpixel((i, j))    #注意此处为两个括号,第二个括号内代表坐标为(i,j)处的色彩元素
        sum = k[0]+k[1]+k[2]    #rgb编码的三个数字相加
        if sum == 0:
            df.write("1")
        else:
            df.write("0")
    df.write("
")
df.close()

运行即可得到以0和1绘制的文本图像。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43002.html

相关文章

  • Python数据挖掘与机器学习技术入门实战

    摘要:在本次课程中,着重讲解的是传统的机器学习技术及各种算法。回归对连续型数据进行预测趋势预测等除了分类之外,数据挖掘技术和机器学习技术还有一个非常经典的场景回归。 摘要: 什么是数据挖掘?什么是机器学习?又如何进行Python数据预处理?本文将带领大家一同了解数据挖掘和机器学习技术,通过淘宝商品案例进行数据预处理实战,通过鸢尾花案例介绍各种分类算法。 课程主讲简介:韦玮,企业家,资深IT领...

    ephererid 评论0 收藏0
  • Python数据挖掘与机器学习技术入门实战

    摘要:在本次课程中,着重讲解的是传统的机器学习技术及各种算法。回归对连续型数据进行预测趋势预测等除了分类之外,数据挖掘技术和机器学习技术还有一个非常经典的场景回归。 摘要: 什么是数据挖掘?什么是机器学习?又如何进行Python数据预处理?本文将带领大家一同了解数据挖掘和机器学习技术,通过淘宝商品案例进行数据预处理实战,通过鸢尾花案例介绍各种分类算法。 课程主讲简介:韦玮,企业家,资深IT领...

    孙吉亮 评论0 收藏0
  • opencv python 基于KNN的手写识别

    摘要:我们的目标是构建一个可以读取手写数字的应用程序为此,我们需要一些和附带一个在文件夹中,它有个手写数字每个数字个每个数字是图像所以首先要将图片切割成个不同图片每个数字变成一个单行像素前面的个数字作为训练数据,后个作为测试数据输出进一步 OCR of Hand-written Data using kNN OCR of Hand-written Digits 我们的目标是构建一个可以读取...

    wing324 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<