欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 基于opencv和PaddleOCR识别身份证信息

基于opencv和PaddleOCR识别身份证信息

2025/4/26 14:24:03 来源:https://blog.csdn.net/zsb706496992/article/details/147395690  浏览:    关键词:基于opencv和PaddleOCR识别身份证信息

1、安装组件

pip install --upgrade paddlepaddle paddleocr

2、完整code

import cv2
import numpy as np
from paddleocr import PaddleOCR# 初始化 PaddleOCR
use_angle_cls=True, lang="ch", det_db_thresh=0.1, det_db_box_thresh=0.5)def preprocess_image(image_path):"""使用 OpenCV 对图像进行预处理:param image_path: 图像路径:return: 预处理后的图像"""# 读取图像image = cv2.imread(image_path)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  # 转换为灰度图像blurred = cv2.GaussianBlur(gray, (5, 5), 0)  # 高斯模糊去噪_, binary = cv2.threshold(blurred, 128, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)  # 二值化return binarydef recognize_id_card(image_path):"""识别身份证信息:param image_path: 身份证图像路径:return: 识别结果"""# 预处理图像preprocessed_image = preprocess_image(image_path)# 将预处理后的图像转换为 PaddleOCR 需要的格式img = cv2.cvtColor(preprocessed_image, cv2.COLOR_GRAY2BGR)# 使用 PaddleOCR 进行文字识别result = ocr.ocr(img, cls=True)print(result)# 提取识别结果for line in result:for elem in line:print(elem[-1][0])  # 打印识别的文本内容# 示例:识别一张身份证图像
recognize_id_card("card.jpg")

3、调整 PaddleOCR 参数 

        如果某些图像无法识别,可以尝试调整 PaddleOCR 的参数,例如检测阈值、识别模型等。

ocr = PaddleOCR(use_angle_cls=True, lang="ch", det_db_thresh=0.3, det_db_box_thresh=0.6)

说明:

        1、det_db_thresh

         • 作用:文字检测的阈值。该参数控制检测算法的灵敏度,值越低,检测到的文字区域越多,但误检率也越高。

        • 默认值:  0.3

         • 范围:  0.0   到   1.0  

        • 建议:如果检测到的文字区域太少,可以尝试降低该值;如果检测到的区域太多且包含大量误检,可以提高该值。

        2、 det_db_box_thresh  

        • 作用:文字区域的过滤阈值。该参数用于过滤掉低置信度的检测结果,值越高,保留的检测结果越少。

        • 默认值:  0.6  

        • 范围:  0.0   到   1.0  

        • 建议:如果检测到的文字区域中有大量误检,可以提高该值;如果检测到的区域太少,可以降低该值。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词