Python 实现手写文字识别

简介

  1. 百度智能云人工智能平台
  2. 文字识别接口使用
  3. 下载IP摄像头应用 调用手机摄像头,实现拍照实现文字识别

Python 百度智能云人工智能文字识别接口 实现手写文字识别

百度智能云

创建应用





创建Python文件


注意:其中__init__.py,只需要建立一个,不需要添加东西在里面

环境配置

Pycharm开发环境 
python 版本 python3.7
Anconda 集成开发环境

第三方库安装

Python 环境
pip install opencv-python
pip install baidu-aip 

Anconda 环境
conda  install opencv-python
conda  install baidu-aip

Handwritten.py

from aip import AipOcr  #pip install baidu-aip


config = {
    'appId':'',
    'apiKey':'',
    'secretKey':''
}
# appId apiKey secretKey 三元组,添加自己的创建应用里面的

client = AipOcr(**config)

# 获取图像内容
def get_file_content(file):
    with open(file,'rb') as f:
        return f.read()

# 文字 to 字符
def img_to_str(image_path):
    image = get_file_content(image_path)
    result = client.handwriting(image)
    # print(result)
    if 'words_result' in result:
        return '\n'.join([w['words'] for w in result['words_result']])

ipdemo.py

import  cv2  # pip install openv-python
from Handwritten import img_to_str # 导入 img_to_str


if __name__ == '__main__':
    # 创建一个窗口 1表示不能改变窗口大小
    cv2.namedWindow("camera",1)
    # 开启ip摄像头 
    # http://admin:admin@192.168.137.53:8081/video
    # 用户名/密码默认admin @ip地址 端口
     video = 'http://admin:admin@IP地址:端口/video'
    # 开启摄像头
    capture = cv2.VideoCapture(video)
    # 按键处理
    while True:
        success,img = capture.read()
        cv2.imshow("camera",img)

        # 按键处理
        key = cv2.waitKey(10)
        # esc 退出
        if key == 27:
            print("esc break")
            break
        # 空格 保存图片
        if key ==32:
            filename = "filename.png"
            cv2.imwrite(filename,img)
            s = img_to_str(filename)
            print(s) #显示识别内容
    # 释放摄像头
    capture.release()
    #关闭窗口
    cv2.destroyWindow('camera')

效果

博客地址https://lemonhubs.github.io/

知乎https://www.zhihu.com/people/bi-shi-san-2-81