网站首页  词典首页

请输入您要查询的论文:

 

标题 基于Tkinter的百度AI图像识别技术二次开发实践
范文

    傅骏 傅馨竹 郝文源 等

    摘 要:通过tkinter二次开发,将百度AI提供的人工智能识别结果进行抓取,显示了用户关心的结果。生成可执行文件发布,完成了设计任务。

    关键词:Python Tkinter;百度大脑;百度AI;二次开发

    人工智能技术方兴未艾,世界各国意识到,谁掌握人工智能,谁就将成为核心技术的掌控者。2017年7月8日《国务院关于印发新一代人工智能发展规划的通知》宣布:举全国之力,在2030年一定要抢占人工智能全球制高点;从即日起,在全国中小学开展计算机编程教育。

    本文以Tkinter结合百度AI开放平台提供的PythonSDK进行了二次开发,实现了百度AI图像功能的GUI界面。

    1 开发工具

    百度AI平台提供了基于Python的SDK,用户根据需要下载对应的SDK,即可免费使用其功能。

    1.1 Python

    Python的跨平台特性受到大家的青睐,人工智能的需求进一步促进了Python的流行。2017年7月,IEEE发布当年编程语言排行榜,第一位是Python。全国计算机等级考试2018年9月第一次开考Python语言,可见国家也认识到了Python语言的重要性。

    1.2 百度大脑

    2018年7月,百度大脑3.0发布。百度大脑3.0开放了110多项能力。百度大脑的四大功能分别是语音、图像,自然语言处理和用户画像这四大能力。用户注册后,获得APPID、APIKey、SecretKey。根据使用情况不同,实行免费或收费。百度还提供了多个AI平台免费使用。

    1.3 Tkinter

    Python的GUI设计工具有Tkinter、WxPython、PyQt等,各有优缺点。Tkinter是Python自带的标准GUI库,安装Python后直接使用Tkinter,不需额外安装,使用前用from tkinter import * 导入tkinter。第三方GUI界面设计后经过转换成Python语言才可使用。

    2 程序开发的关键技术

    设计任务是,利用Tkinter技术开发GUI界面,基于百度AI提供的开源技术,实现5个功能:人脸检测、动物识别、植物识别、车型识别、文字识别。用户选择图片后,单击对应的按钮,获得识别结果,其中“文字识别”的结果以txt形式保存在硬盘上,其余结果显示在窗体上。

    2.1 百度AI结果抓取

    百度AI提供的结果信息量大,用戶需要对其中数据进行抓取。下列代码对百度人脸检测功能“颜值”结果进行抓取,结果存放在变量yanzhi中。

    resul=result['result']

    resu=resul['face_list']

    res=resu[0]

    yanzhi=res['beauty']

    2.2 欢迎界面设计

    程序运行后,首先显示欢迎界面。核心代码是,

    tkinter.messagebox.showinfo('欢迎',"百度AI人工智能"+"\\n"+"2018年11月出品")

    2.3 界面设计

    在界面上设置了3个标签、7个按钮等控件。3个标签分别显示图片、百度AI结果、运行时间等。7个按钮有“选择图片”、“结束”以及五个实现百度图像功能按钮。

    采用place函数设置各个控件的位置,以下代码分别实现标签和按钮的位置,

    btn=Button(root,text="选择图片",command=xz).place(x=120,y=20)

    label=Label(root,width=23,height=6,bg='blue',fg='white').place(x=450,y=150)

    2.4 “选择图片”功能

    “选择图片”按钮打开选择文件对话框,并将其显示在界面的标签Label上,其核心代码是,

    pilImage = tkinter.filedialog.askopenfilename()

    pil = Image.open(pilImage)

    tkImage = ImageTk.PhotoImage(image=pilImage)

    label =Label(root,image=tkImage,width=ww,height=hh)

    2.5 识别按钮功能设计

    采用def函数功能将按钮与百度AI结果进行定义。以下代码实现“动物检测”按钮与百度AI结果的链接,

    def dongwujiance

    client = AipImageClassify(APP_ID,API_KEY,SECRET_KEY)

    def get_file_content(filePath):

    with open(filePath,'rb')as fp:

    return fp.read()

    btn = Button(root,text="动物识别",command=dongwujiance)

    2.6 菜单设计

    菜单设计的代码是,

    smenu1=Menu(fmenu1,tearoff=0)

    fmenu1.add_cascade(label='关于',menu=smenu1)

    for item in['版权信息']:

    smenu1.add_command(label=item,command=syu)

    root['menu']=fmenu1

    其中,实现“版权信息”的代码是,

    defsyu():

    tkinter.messagebox.showinfo('版权','版本号0.5.2'+'\\n'+'制作:学生团队')

    2.7 生成可执行文件

    编写代码后进行测试。测试后,删除全部断点及部分注释,生成可执行文件,提供给用户使用。生成可执行文件exe的方法是在DOS中输入代码,

    >pip install pyinstaller

    >pyinstaller –F –w python.py

    3 结语

    作品参加学院科技节,获得计算机作品大赛二等奖,锻炼了学生能力,提高了学生的人工智能技术水平,提升了大学生的素质。发布的作品得到了大家的喜好,推广了人工智能技术。

    参考文献:

    [1]傅骏,傅馨竹,廖先强.开源人工智能平台与编程技术的综合应用实践[J].河北农机,2018(10):70-71.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/11 8:57:54