利用树莓派做的树莓派行程码识别系统

简介: ## 前言: 今天不讲Java,来一个小插曲 有朋友想学小程序行程码识别系统,今天就来简单的讲一讲 首先要有一个服务器设备:树莓派4b,舵机驱动板 运用python软件的tk模块来控制截图,每当用户点击识别按钮 的时候系统自动进行截图,并运行识别函数,进行比对。通过识别 文字函数调用了百度ocr识别的api,对图片的文字进行提取。然后 对返回的json进行判断,得出一个值,如果结果为可用数据,则运 行,运行打开舵机的函数,结果为假数据则舵机归位。并且舵机打 开之后在五秒之后将会自动归位。

## 前言:

   今天不讲Java,来一个小插曲

   有朋友想学小程序行程码识别系统,今天就来简单的讲一讲

   首先要有一个服务器设备:树莓派4b,舵机驱动板

       运用python软件的tk模块来控制截图,每当用户点击识别按钮

   的时候系统自动进行截图,并运行识别函数,进行比对。通过识别

   文字函数调用了百度ocr识别的api,对图片的文字进行提取。然后

   对返回的json进行判断,得出一个值,如果结果为可用数据,则运

   行,运行打开舵机的函数,结果为假数据则舵机归位。并且舵机打

   开之后在五秒之后将会自动归位。

786af5be710927b59de091b78b732fb.jpg

# encoding: utf-8importtimeimportrequestsimportbase64importosfromtkinterimport*defcamera():
os.system("fswebcam --no-banner -r 1920*1080 new.jpg")
text1.delete(0.0, END)
text1.insert("insert", '正在识别中.....\n')
text1.update()
text1.insert("insert", '捕获图像完成!\n')
text1.update()
defjudge():
request_url="https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"f=open(r'/home/pi/Desktop/demo/new.jpg', 'rb')
# f = open(r"C:\Users\Administrator\Desktop\6.jpeg", "rb")img=base64.b64encode(f.read())
count=0text1.insert("insert", '识别图像完成!\n')
text1.update()
params= {"image": img}
access_token='24.0751cceecef2bb40343aba5bb9970ab4.2592000.1656209556.282335-26317738'request_url=request_url+"?access_token="+access_tokenheaders= {'content-type': 'application/x-www-form-urlencoded'}
response=requests.post(request_url, data=params, headers=headers)
places=""ifresponse:
words_result=response.json()["words_result"]
# 记录途经地区结束的下标end_index=len(words_result)
forxinrange(len(words_result)):
if"结果"inlist(words_result[x].values())[0] or"包含"inlist(words_result[x].values())[0] or"小时"in \
list(words_result[x].values())[0]:
end_index=xforindexinrange(len(words_result)):
v=words_result[index].values()
if"您于前14天内到达或途经"inlist(v)[0]:
count+=1places=list(v)[0][13:]
foriinrange(index+1, end_index):
places+=list(words_result[i].values())[0]
print(places)
places_list=places.split(",")
p1='您去过'+places+'.....\n'text1.insert("insert", p1)
text1.update()
iflen(places_list) ==1:
if"杭州"inplaces_list[0]:
count=1else:
count=2eliflen(places_list) >1:
count=2else:
count=0print(count)
ifcount>=2:
text1.insert("insert", '您14天内出过杭州市,不可通行!\n')
text1.update()
os.system("python3 pwm0.py")
elifcount==1:
text1.insert("insert", '您14天内未出过杭州市,可通行!')
text1.update()
os.system("python3 pwm90.py")
elifcount==0:
text1.insert("insert", '未检测到有效的行程码!')
text1.update()
defrun():
camera()
time.sleep(1)
judge()
window=Tk()
window.minsize(600, 500)
window.title("行程码自动识别系统")
btn=Button(window, text='开始识别', command=run, height=4, width=23, font=('黑体', 22, 'bold'), bd=5)
btn.pack(pady=25)
text1=Text(window, width=45, height=10, font=('黑体', 14, 'bold'))
text1.pack()
window.mainloop()
  • 以上代码就供参考
目录
相关文章
|
6月前
|
存储 数据安全/隐私保护 芯片
毕业设计 基于51单片机的指纹红外密码电子锁
毕业设计 基于51单片机的指纹红外密码电子锁
|
4月前
|
供应链 物联网 Android开发
使用LabVIEW开发RFID读卡器程序
使用LabVIEW开发RFID读卡器程序
63 0
|
传感器 芯片
聊聊身边的嵌入式,方便好用的人体感应灯
聊聊身边的嵌入式,方便好用的人体感应灯
|
存储 机器学习/深度学习 算法
【HaaS Python硬件积木】AS608指纹识别模块 打造指纹门禁 开门有手就行
【HaaS Python硬件积木】AS608指纹识别模块 打造指纹门禁 开门有手就行
272 0
|
Python
机器狗搭建记录2-树莓派连接舵机
机器狗搭建记录2-树莓派连接舵机
322 0
|
运维 监控 算法
行程卡识别系统实践|学习笔记(一)
快速学习行程卡识别系统实践
行程卡识别系统实践|学习笔记(一)
|
JSON 文字识别 Java
行程卡识别系统实践|学习笔记(二)
快速学习行程卡识别系统实践
行程卡识别系统实践|学习笔记(二)
|
存储 Ubuntu Shell
3D打印树莓派4B外壳—内置UPS和统计显示信息
3D打印树莓派4B外壳—内置UPS和统计显示信息
594 0
3D打印树莓派4B外壳—内置UPS和统计显示信息
|
传感器 移动开发 小程序
一步步打造能手机远程管理的HaaS花卉养植系统
一步步打造能手机远程管理的HaaS花卉养植系统
一步步打造能手机远程管理的HaaS花卉养植系统
自制电脑红外遥控接收器(PC软解码)
网上有很多介绍红外遥控接收器制作的文章,但其中大部分是用单片进行红外解码,然后再通过串口或USB把解码后的按键信息传入到PC的。这样的电路制作起来,不仅造价相对偏高,而且需要对单片编程,这会令大部分软件开发爱好者望而却步
1144 0
下一篇
无影云桌面