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()相关文章:
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.cvt…...
go的template示例
模板定义: type Config struct {{{- $len : len .DbConfigs -}}{{- $i : 0 -}}{{- range $key, $value : .DbConfigs}}{{title $key}} *DbConfig "yaml:\"{{lower $key}}\"" {{if lt $i (sub $len 1)}},{{end}}{{- $i add $i 1 -}}{{- end…...
『YOLO』| 断点训练、解决训练中断异常情况
文章目录 方法一方法二 当yolo在训练的时候,如果训练中断或者出现异常,可通过修改代码,从上一次断掉处重新训练,实现断点续训。 方法一 第一种方法: 按照官方给出的恢复训练代码,用yolo命令格式ÿ…...
MQTT+Disruptor 提高物联网高并发
基于springboot2.5.7 废话不多说,直接上干货: Slf4j Configuration EnableConfigurationProperties(MqttProperties.class) IntegrationComponentScan(basePackages {"扫描包路径","扫描包路径"}) public class MqttAutoConfig {…...
SpringBoot项目集成ONLYOFFICE
ONLYOFFICE 文档8.2版本已发布:PDF 协作编辑、改进界面、性能优化、表格中的 RTL 支持等更新 文章目录 前言ONLYOFFICE 产品简介功能与特点Spring Boot 项目中集成 OnlyOffice1. 环境准备2. 部署OnlyOffice Document Server3. 配置Spring Boot项目4. 实现文档编辑功…...
用于nodejs的开源违禁词检测工具 JavaScript node-word-detection
地址 : https://www.npmjs.com/package/node-word-detection github地址: https://github.com/xiaobaidadada/node-word-detection 非常节省内存的轻量级快速违禁词、词典库 检测工具 、 50万个词大约需要300MB内存、被检测的文本100字内结果在1毫秒左右。本项目没有提供词库请…...
FFmpeg 4.3 音视频-多路H265监控录放C++开发十二:在屏幕上显示多路视频播放,可以有不同的分辨率,格式和帧率。
上图是在安防领域的要求,一般都是一个屏幕上有显示多个摄像头捕捉到的画面,这一节,我们是从文件中读取多个文件,显示在屏幕上。...
Linux权限问题(账号切换,权限,粘滞位)
1.什么是权限? 在Linux下有两种用户,分别是超级用户(root)和普通用户。超级用户可以在Linux下做任何事情,几乎不受限制,而普通用户一般只能在自己的工作目录下(/home/xxx)工作&#…...
el-upload,上传文件,后端提示信息,前端需要再次重新上传(不用重新选择文件)
1.el-upload 上传附件: <el-uploadref"upload":action"upload.url ?updateSupport upload.updateSupport":auto-upload"false":disabled"upload.isUploading":headers"upload.headers":limit"1"…...
数字信号处理Python示例(5)使用实指数函数仿真PN结二极管的正向特性
文章目录 前言一、二极管的电流-电压关系——Shockley方程二、PN结二极管正向特性的Python仿真三、仿真结果分析写在后面的话 前言 使用Python代码仿真了描述二极管的电流-电压关系的Shockley方程,对仿真结果进行了分析,说明在正向偏置区域,…...
ctfshow(89,90,92,93)--PHP特性--intval函数
Web89 源代码: include("flag.php"); highlight_file(__FILE__);if(isset($_GET[num])){$num $_GET[num];if(preg_match("/[0-9]/", $num)){die("no no no!");}if(intval($num)){echo $flag;} }审计 GET传参num。 如果在参数num中…...
构建ubuntu22.04.4私有源服务以及配置ubuntu私有源
构建ubuntu22.04.4私有源服务以及配置ubuntu私有源 一、环境说明1.1 私有源服务器1.2 客户机二 、构建私有源服务2.1 服务构建2.2 发布新的deb包到源服务器1. 准备新的 `.deb` 包2. 将 `.deb` 包添加到仓库目录3. 更新 `Packages` 文件4. 更新仓库的发布文件(可选)5. 通知客户…...
模块功能的描述方法
目录 行为描述方法 语句块 过程赋值语句 高级程序语句 循环语句 数据流描述 结构描述 混合描述方法 module 模块名(端口列表); // 模块声明// 端口定义input [数据类型] [位宽] 输入端口列表; output [数据类型] [位宽] 输出端口列表; inout [数据类…...
【WPF】MatrixTransform类
【WPF】MatrixTransform类 主要特性使用场景示例 在WPF(Windows Presentation Foundation)中,MatrixTransform 类是用于表示一个仿射变换的类,它允许开发者通过一个矩阵来定义一个二维空间中的线性变换。这种变换可以包括平移&…...
【C++】继承的理解
1.继承的概念和定义 1.1继承的概念 继承 (inheritance) 机制是面向对象程序设计 使代码可以复用 的最重要的手段,它允许程序员在 保 持原有类特性的基础上进行扩展 ,增加功能,这样产生新的类,称派生类。继承 呈现了面向对象 程序…...
day50 图论章节刷题Part02(99.岛屿数量 深搜、99.岛屿数量 广搜、100.岛屿的最大面积)
前言:前段时间论文开题落下了很多进度,今天开始会尽快赶上 99.岛屿数量 深搜 思路:对地图进行遍历遇到一个没有遍历过的陆地节点,计数器就1,并把该节点所能遍历到的陆地都标记上;遇到标记过的陆地节点和海…...
超详细从基准将VMware ESXi 升级到 vSphere 6.7U1教程
哈喽大家好,欢迎来到虚拟化时代君(XNHCYL),收不到通知请将我点击星标! “ 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福…...
华为OD机试 - 打印机队列 - 优先队列(Java 2024 E卷 200分)
华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(E卷D卷A卷B卷C卷)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加…...
MatrixOne 助力西安天能替换MySQL+MongoDB+ES打造一体化物联网平台
物联网(IoT)时代,企业正以前所未有的速度加快数字化转型。西安天能软件科技有限责任公司(Skyable)作为工业物联网领域的领先企业,携手MatrixOne,共同构建新一代一体化物联网平台,实现…...
正则表达式---元字符
简介 正则表达式分为两种语法:POSIX标准的语法,Perl语法。 正则表达式的POSIX规范,分为基本型正则表达式(Basic Regular Expression, BRE),扩展型正则表达式(Extended Regular Expression&…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined.
这个警告表明您在使用Vue的esm-bundler构建版本时,未明确定义编译时特性标志。以下是详细解释和解决方案: 问题原因: 该标志是Vue 3.4引入的编译时特性标志,用于控制生产环境下SSR水合不匹配错误的详细报告1使用esm-bundler…...
MeanFlow:何凯明新作,单步去噪图像生成新SOTA
1.简介 这篇文章介绍了一种名为MeanFlow的新型生成模型框架,旨在通过单步生成过程高效地将先验分布转换为数据分布。文章的核心创新在于引入了平均速度的概念,这一概念的引入使得模型能够通过单次函数评估完成从先验分布到数据分布的转换,显…...
第2课 SiC MOSFET与 Si IGBT 静态特性对比
2.1 输出特性对比 2.2 转移特性对比 2.1 输出特性对比 器件的输出特性描述了当温度和栅源电压(栅射电压)为某一具体数值时,漏极电流(集电极电流...
