在上一篇文章《基于百度飞桨PaddleOCR的图片文字识别》的基础上,做了个简单的扩展:
1、通过Pyqt5做个简单的UI界面;
2、通过OpenCV操作笔记本摄像头进行视频显示、拍照等功能;
3、加载图片;
4、对拍照图片或者加载的图片,进行PaddleOCR的图片文字识别;
一、UI界面设计
1、PyCharm工程中,在ocrtest文件夹下新建ocr_camera.ui文件,然后右键,找到"External Tools",选择QT Designer,进入QT5的UI设计界面
2、添加相应的控件、设置好参数。如显示视频及图片的QLable,默认情况下是透明的,设置背景色方便设置大小。
QLable设置背景色:2.1、选中autoFillBackground
2.2、改变Window调色板
最终的UI界面如下:
3、保存ui文件。
如果先打开QT Designer,设计后,保存ocr_camera.ui到ocrtest文件夹下,效果是一样的。
4、回到PyCharm工程,ocr_camera.ui文件,然后右键,找到"External Tools",选择PyUIC,将UI设计文件转换为ocr_camera.py文件。
ocr_camera.py文件如下:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ocr_camera.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_ocr_camera(object):
def setupUi(self, ocr_camera):
ocr_camera.setObjectName("ocr_camera")
ocr_camera.resize(1278, 750)
self.imageocrButton = QtWidgets.QPushButton(ocr_camera)
self.imageocrButton.setGeometry(QtCore.QRect(970, 20, 81, 23))
self.imageocrButton.setObjectName("imageocrButton")
self.takephotosButton = QtWidgets.QPushButton(ocr_camera)
self.takephotosButton.setGeometry(QtCore.QRect(670, 20, 75, 23))
self.takephotosButton.setObjectName("takephotosButton")
self.closeCameraButton = QtWidgets.QPushButton(ocr_camera)
self.closeCameraButton.setGeometry(QtCore.QRect(770, 20, 75, 23))
self.closeCameraButton.setObjectName("closeCameraButton")
self.openCameraButton = QtWidgets.QPushButton(ocr_camera)
self.openCameraButton.setGeometry(QtCore.QRect(570, 20, 75, 23))
self.openCameraButton.setObjectName("openCameraBut