Python利用百度AI图像识别技术识别图片

article/2025/6/25 10:39:41

准备工作:在百度云控制台创建文字识别模块;装备几张简单的有文字的图片。

百度官方文档:http://ai.baidu.com/docs#/OCR-API/7e4792c7

然后进入编码阶段:

如下代码获取access_token 

client_id和client_secret是百度云列表提供的,复制即可。
#!/usr/bin/env python
# encoding: utf-8
import urllib, urllib.request, sys
import ssl# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=5Yk7ssa……yymyqV&client_secret=zMlhp5……P2fkZGdpbq6l '
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
content = response.read()
if (content):print(content)

从输出数据中截取access_token备用。

{"refresh_token":"25.5e3f0e551cb27c58ea1e7a4e4c0f443d.315360000.1859339833.282335-15049974","expires_in":2592000,"session_key":"9mzdXUMTh7C5l1k1D3BszGAXcDeKGM1PQaJ8kw20KKC+5wFOSDNhmDsFK4yWsL5MidWg7ixprSo\\/sfCta6TiS38mA2eCRw==","access_token":"24.f73c8f69fe8837dcebbae5b42394df37.2592000.1546571833.282335-15049974","scope":"public vis-ocr_ocr brain_ocr_scope brain_ocr_general brain_ocr_general_basic brain_ocr_general_enhanced vis-ocr_business_license brain_ocr_webimage brain_all_scope brain_ocr_idcard brain_ocr_driving_license brain_ocr_vehicle_license vis-ocr_plate_number brain_solution brain_ocr_plate_number brain_ocr_accurate brain_ocr_accurate_basic brain_ocr_receipt brain_ocr_business_license brain_solution_iocr brain_ocr_handwriting brain_ocr_vat_invoice brain_numbers brain_ocr_train_ticket brain_ocr_taxi_receipt wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test\\u6743\\u9650 vis-classify_flower lpq_\\u5f00\\u653e cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify","session_secret":"b964ff4e36293ff095d411371f45d9a2"}

以下代码用来识别图片信息:

注意替换access_token的值。

#!/usr/bin/env python
# encoding: utf-8
import urllib.parse, urllib.request, base64
access_token = '#####调用鉴权接口获取的token#####'
url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token=' + '替换access_token'
# 二进制方式打开图文件
f = open(r'I:\\a.jpg', 'rb')#本地图片
# 参数image:图像base64编码
img = base64.b64encode(f.read())
params = {"image": img}
params = urllib.parse.urlencode(params).encode(encoding='UTF8')
request = urllib.request.Request(url, params)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = urllib.request.urlopen(request)
content = response.read()
if (content):print((content).decode())

图片a.jpg

 运行代码结果:

{"log_id": 9118799040756169381, "words_result_num": 1, "words_result": [{"location": {"width": 76, "top": 146, "left": 79, "height": 41}, "words": "百度"}]}

 装一个身份证照片:

 

再次运行代码,结果:

 所有数据都识别到!

 


http://chatgpt.dhexx.cn/article/SjZ7TcAe.shtml

相关文章

java做图文识别

现在的世界,什么都需要人工智能AI进行处理,那么,对于Java程序猿来说,是不是有些工作是不是就不能胜任呢,答案是显然是不一定的,对于图片识别来说,这个任务就可以使用Java进行开发,虽…

【计算机视觉】人脸识别--人脸识别技术综述

https://www.cnblogs.com/huty/p/8517691.html 参考:http://www.xuehuile.com/thesis/9a81f680054441ad907934b07b465c8e.html,本文做了相关修改。 1 人脸识别技术概述 近年来,随着计算机技术的迅速发展,人脸自动识…

厉害了,用 Java 也能实现图片识别!

点击上方蓝色“终端研发部”,选择“设为星标” 学最好的别人,做最好的我们 最近闲来无事研究了一下用 Java 如何模拟浏览器的行为,在实验登录的步骤时碰到了识别验证码的问题,于是在网上查找了关于 Java 如何进行图片识别验证码&a…

图片验证码识别教程技术原理分析

面对技术这片大海,我们都是一个渔民,三天打鱼,两天结网。我是把过去自己所掌握的所有技术总结成一张网,若一个技术干货分享的东西离我的网还太远,我就会放弃去了解。因为如果不能连结到这张网中,形成一个节…

Java OCR tess4j 图片识别技术(三)

先贴代码段 tess4j整个的代码调用到时是蛮简单的。 1.先去官网下载:http://tess4j.sourceforge.net/ 我的是Tess4J-3.4.0版,目录如下: 2.新建项目,将lib,tessdata,src复制到新建的项目中 3.将lib下的jar包加到build path 中 项目目录…

Java图像识别技术:Test4J

简介 做图像识别,可以使用TESSERACT-OCR来实现,但是该方式需要下载软件,在电脑上安装环境,移植性不高,使用Tess4J只需要下载相关Jar包,导入项目,再把项目封装好就可以处处运行了。 Test4J官网&…

计算机识别图像的原理,什么是图像识别技术?图像识别技术原理介绍

图像识别技术是人工智能的一个重要领域。它是指对图像进行对象识别,以识别各种不同模式的目标和对像的技术。 图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。图像识别,顾名思义,就是对图像做出各种处理、分析,最终识别我们所要研究的目标。今天所…

图片识别——需求篇

最近由于工作的关系,学习了一些关于图片识别的知识,并成功用于解决实际问题当中,特此一一记录下来,以备后用,同时希望对大家有用。 场景 企业端用户在注册时,会上传一下公司的Logo。上传的步骤是:选择本地Logo图片,点上传,图片被上传至公司图片服务器(此时这张图片有…

Ubuntu重启黑屏——Intel微码更新兼容性问题

9月13日前后对Ubuntu 22.04进行软件更新,再开机后经过grub直接黑屏,没有任何报错信息。 对于默认不显示Grub菜单的机器,可以在闪过紫屏前长按Esc进入Grub菜单。由于此时仍能进入Grub菜单界面,此处优先选择使用自带的Recovery Mod…

华为-微码开发入门 - 环境搭建

搭建环境 安装 Node.js 前言: We码的整个开发依赖 Node.js 环境,我们需要对 Node.js 做一个简单的了解。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,类似Java的JRE,JRE有一个称为Java Virtual Machine&#xff08…

Brocade FC微码升级

一、组网图 无 二、问题描述 在实际生产环境下,不少项目都存在着 Brocade FC 交换机 Firmware 版本过旧的问题,需要将 Firmware 版本升级至新版本。 三、过程分析 具体升级流程: 四、解决方法 1.搭建FTP环境 搭建FTP环境可以下载3cdaemon-ftp的免安装版小工具…

IBM X3550 m4 微码升级

Ibm pc server升级顺序为IMM->UEFI->DSA(->FPGA) 微码下载 进入IBM官网->支持->fix central 选择升级设备对应的微码或补丁 PCserver 微码升级先升级IMM 选择IMM 选择最新版下载,升级测试本机IMM版本为1.50 最新6.60,时间相隔六年多&am…

微信小程序生成二微码(JAVA)

前段时间在项目中,写了一个生成微信二微码的功能,之所以会开发这个功能,是因为我们做的小程序要进行推广让用户扫我们做的小程序的二微码进行去体验,功能实现的场景大概是: 后台生成小程序二微码,返回到后台页面进行展…

联想SR850系列微码升级

1. 通过服务器管理口(X-clarity controller)收集日志.方法是使用直连线(此网口可自适应 连接方式)将此网口连接于一台终端机(笔记本或台式机). 2. .将笔记本的网卡 IP 设置为与“192.168.70.125”处于同网段的 IP(如: 192.168.70.…

IBM V7000存储升级微码

一、前期准备 目前使用的V7000型号为2076-124,没有扩展柜,当前版本为6.4.1.4,比较老旧,需要升级到相对新的版本。 1.确定当前机器可升级的最高版本 打开网页 http://www-01.ibm.com/support/docview.wss?rs=591&uid=ssg1S1003850 ,可以看到下表,可以看到2076-124这个…

hpux-hp superdome 9000 升级微码

新加入cell板,查看、升级CELL板微码。 一.查看主机微码 升级xyy主机,用Lan console连接到MP卡中,进入Command Menu菜单中,执行命令sysrev检查当前所插的CELL板微码 可以看出,当前5块CELL板安装在0、2、3、4、6槽位&am…

linux下查看硬盘微码,什么是固件或微码,以及如何更新我的硬件?

固件是一种运行在硬件设备上的软件,用于执行低级任务。 例如,从电视遥控器到电脑硬盘驱动器到空中Drone的所有内容都运行自己的固件。 微码基本上是你的CPU的固件。 什么是固件? 软件是指在设备上运行的程序,应用程序和其他计算机…

linux查看cpu微码命令,下载 Linux * 处理器微码数据文件

适用于 Linux * 的英特尔处理器微套件软件包 CPU 微码是一种更正现有系统中的特定勘误表的机制。 应用微代码更新的一般首选方法是使用系统 BIOS,但对于英特尔处理器的一部分,这可以在运行时完成 使用操作系统。此软件包包含的处理器 支持对微码更新进行操作系统加载。 此软件…

uni-app 开发华为 微码小程序

uni-app 开发华为 微码小程序 文章目录 uni-app 开发华为 微码小程序背景通过uni-app生成一个h5应用通过微码开发者工具新建一个微码应用进阶官方解决方案 背景 之前一直使用uni-app开发小程序、H5应用。近期公司有意向使用华为的welink产品作为移动OA。正好近期项目不是特别忙…

linux查看cpu微码命令,如何在Linux上安装/更新Intel微码固件

如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢? 微码microcode就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理器的微码保存在内存中,在每次启动系统…