当前位置: 首页 > news >正文

11.4OpenCV_图像预处理习题02

1.身份证号码识别(结果:身份证号识别结果为:911124198108030024)

import cv2
import numpy as np
import paddlehub as hubdef get_text():img = cv2.imread("images1/images/shenfen03.jpg")# 灰度化gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 高斯gs_img = cv2.GaussianBlur(gray_img, (9, 9), 0)# 腐蚀ero_img = cv2.erode(gs_img, np.ones((11, 11), np.uint8))# 边缘cany_img = cv2.Canny(ero_img, 70, 300)cv2.imshow("Canny Image", cany_img)# 轮廓contours, _ = cv2.findContours(cany_img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)# 创建一个与原始图像同样大小的黑色图像contour_img = np.zeros_like(img)# 在黑色图像上绘制轮廓cv2.drawContours(contour_img, contours, -1, (255, 255, 255), 2)# 显示轮廓图像cv2.imshow("Contours", contour_img)for contour in contours:x, y, w, h = cv2.boundingRect(contour)print(w,h)if w > 200 and h < 70:cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)out_img = img[y:y + h, x:x + w]# # 绘制所有轮廓的矩形框# for contour in contours:#     x, y, w, h = cv2.boundingRect(contour)#     # 移除条件判断,为每个轮廓绘制矩形框#     cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)cv2.imshow("title", img)# 显示原始图像上的矩形cv2.imshow("title", out_img)cv2.waitKey(0)#加载模型ocr = hub.Module(name="chinese_ocr_db_crnn_server")#识别文本results = ocr.recognize_text(images=[out_img])for result in results:data = result['data']for x in data:print('文本: ', x['text'])cv2.destroyAllWindows()if __name__ == "__main__":get_text()

2.车牌识别

import cv2
import numpy as np
import paddlehub as hubdef get_text():img = cv2.imread("images1/images/car6.png")# 灰度化gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 顶帽eroded = cv2.morphologyEx(gray_img, cv2.MORPH_TOPHAT, np.ones((9,9), np.uint8))# 高斯gs_img = cv2.GaussianBlur(eroded, (9, 9), 2)# 边缘cany_img = cv2.Canny(gs_img, 170, 180)# 膨胀eroded2 = cv2.dilate(cany_img,np.ones((17,17), np.uint8), iterations=2)# 轮廓contours, _ = cv2.findContours(eroded2, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)# 创建一个与原始图像同样大小的黑色图像contour_img = np.zeros_like(img)# 在黑色图像上绘制轮廓cv2.drawContours(contour_img, contours, -1, (255, 255, 255), 2)# 显示轮廓图像cv2.imshow("Contours", contour_img)for contour in contours:x, y, w, h = cv2.boundingRect(contour)print(w,h)if w > 20 and h > 20:cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)out_img = img[y:y + h, x:x + w]cv2.imshow("title", out_img)cv2.waitKey(0)cv2.destroyAllWindows()# # 绘制所有轮廓的矩形框# for contour in contours:#     x, y, w, h = cv2.boundingRect(contour)#     # 移除条件判断,为每个轮廓绘制矩形框#     cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)# cv2.imshow("title", img)# 显示原始图像上的矩形#加载模型ocr = hub.Module(name="chinese_ocr_db_crnn_server")#识别文本results = ocr.recognize_text(images=[out_img])for result in results:data = result['data']for x in data:print('文本: ', x['text'])if __name__ == "__main__":get_text()

http://www.mrgr.cn/news/65783.html

相关文章:

  • ComfyUI和Photoshop相结合,PS内实现:文生图,图生图,高清放大,局部重绘,面部修复,设计师福音
  • MathType在Word中的安装与配置记录
  • Python pyautogui库:自动化操作的强大工具
  • 提高交换网络可靠性之链路聚合
  • HTB:Validation[WriteUP]
  • CentOS下载ISO镜像的方法
  • Python 继承、多态、封装、抽象
  • 字符串算法
  • Android CCodec Codec2 (十九)C2LinearBlock
  • 【软考】反规范化技术
  • Python 类和对象
  • MeetingMind:AI 会议助手,支持自动转录音频并提取会议中的关键信息
  • 408 计算机组成原理、操作系统:异常和中断的总结
  • GESP4级考试语法知识(计数排序-桶排序)
  • 管易到金蝶销售数据集成全流程详解
  • AI大模型重塑软件开发:从代码自动生成到智能测试
  • AVLTree
  • 程序员都在用的AI编码助手
  • C++练习题
  • kafka版本
  • PH热榜 | 2024-11-04
  • 【解决办法】无法使用右键“通过VSCode打开文件夹”
  • python 通过执行脚本安装库或卸载库
  • 【ACM出版,EI稳定检索,九大高校联合举办, IEEE Fellow支持】2024年计算机视觉与艺术研讨会(CVA 2024,11月29-12月1日)
  • Linux 系统启动
  • JAVA设计模式之【建造者模式】