| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 一个初二学生用python整了一个AI识别工具项目 -> 正文阅读 |
|
[人工智能]一个初二学生用python整了一个AI识别工具项目 |
这次的项目是我为元旦联欢筹备的,项目的主题来源于我的编程书 这也是本人第一次开自己的CSDN博客 本人初二一个普通初中生,用python搞了一个最基本的图像识别工具,当然不完全是自己搞的,实际上制作了最简单的Qt和网络请求数据转换 具体看就完了 事先说明:本次的AI图像识别算法不是我的,而是申请了百度的AI网站的一个API接口。 这里需要引入一个定义是API。所谓API全称是Application Programming Interface,英语好的同学应该已经知道是什么了。他叫应用程序接口,确切的说是应用程序编程接口。是一些预先定义的接口,比如函数或者HTTP接口,或者指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或者理解内部工作机制的细节。百度百科真难读。 大家如何理解这个东西,就是好比我在这个项目中我把我要识别的图片提供给百度这个所谓的接口,回来的数据直接就是识别的结果。而我需要读懂这个百度AI的算法吗?不需要,这就是这个东西的作用 那么原理很简单,我们使用urllib给百度的AI接口发送网络请求,然后将后取得的二进制文件转化为base64字符串,通过代码再复制内容到剪贴板。用PyQt5图形化窗体设计实现窗口显示,还有处理网络的请求结果,用json模块处理JSON数据。 在这些大纲中,我们需要使用的知识点有Python的基本语法,在这里不再进行讲解,还有python中与网络请求相关的库,有urllib模块,urllib.request模块,json模块和base64模块。我们在设计窗体的过程中使用PyQt5模块。以及使用百度的AI接口 这就是我们此次项目的原理 那么这次项目的需求是,这个工具可以与百度AI平台开放接口实现简单的识别图片上的信息。可以识别银行卡图片、动物图片、通用票据图片、营业执照图片、身份证图片、车牌号图片、驾驶证图片、行驶证图片、车型、Logo图片等图片中的相关信息。 那么我来介绍一下urllib和urllib.request模块 urllib是python内置的HTTP请求库,是python的一个获取url(Uniform Resource Locators,就是统一资源定位符)模块,可以用来抓取远程的数据。urllib.request为请求块。 一个合格的urllib模块程序包含如下几个部分:(视频) 发送请求,添加请求头,获取返回内容,读取返回内容四个部分 接着我来讲一下json模块 JSON:JavaScript Object Notation是一种轻量级的数据交换格式。python3版本可以使用json模块来对JSON数据进行编解码 json的常用方法有这几个 json.dump() json.load() json.dumps() json.loads() 至此我们的知识储备完全了,开始考虑项目的东西了 项目的主窗体设计需要一个外层,然后一次添加分类的内层。 有分类选择部分、图片选择部分、显示识别结果、复制识别结果部分 最终的窗体实现样式如下 接着我们对按钮单击分别添加事件, 对按钮实现新建openfile安妮单击时间方法。 在该方法中打开文件选择对话框查找图片,返回选择的图片,进行相应的处理,包括显示图片、设置显示图片路径、调用创建的typeTp()方法判断选择类型进行图片 这里还有实现一个分类方法typeTp(),根据选择的分类进行图片识别,代码如下 运行程序,选择要识别的效果就像这样 写在最后 因为这是编程书上的项目,所以这个项目肯定会有和其他的雷同,我也是边学边做这个的。总之最后各位不要骂我就好了。 嗯,第一次写博客,能帮忙点个赞转个发吗?谢谢了! ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 23:28:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |