opencv通过轮廓去除虚线

news/2024/12/13 4:08:11/

思路:
将虚线膨胀为实线,通过高度和宽度找到轮廓,再将轮廓内的面积涂白色

img = cv2.imread(imagePath)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray_test = gray.copy()
binary_test = cv2.adaptiveThreshold(clean_gray(gray_test),255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY, 15, -5)diate = cv2.dilate(binary_test, cv2.getStructuringElement(cv2.MORPH_RECT, (1, 20)))#虚线膨胀成为直线
cv_show(diate)
canny = cv2.Canny(diate, 200, 255)
# iterations=5 两个数字也能连在一起,paddle两个数字很容易识别_, total_contours, HIERARCHY = cv2.findContours(canny, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)contours = [cnt for cnt in total_contours ifmax( cv2.minAreaRect(cnt)[1][0],cv2.minAreaRect(cnt)[1][1]) > 1000and min( cv2.minAreaRect(cnt)[1][0],cv2.minAreaRect(cnt)[1][1]) < 40]  # 虚线的长度
if len(contours)!=1:print('%s contours异常第 %s 矩形'%(self.file,i))cv2.drawContours(gray, contours, -1, (255, 255), -1) 

效果:
前:
在这里插入图片描述

识别到的虚线:
在这里插入图片描述

后:
在这里插入图片描述


http://www.ppmy.cn/news/581543.html

相关文章

常见海报的尺寸

常见海报的尺寸 1. 普通海报尺寸2. 宣传海报尺寸3. 标准海报尺寸4. 电影海报尺寸5. 招聘海报尺寸6. 印刷纸张规格7. 展板&#xff08;KT板&#xff09;8. X展架&#xff0c;易拉宝尺寸 1. 普通海报尺寸 42cm 57cm &#xff08;宽 高&#xff09;&#xff0c;大度四开 57cm …

PS制作海报操作技巧若干,问题若干,查看图片大小

PS基本快捷键操作 新建项目&#xff1a;CtrlN&#xff0c;然后设置画布的尺寸、分辨率等。 &#xff08;注意&#xff1a;如果海报需要印刷出来&#xff0c;就要把颜色调整为CMYK&#xff0c;分辨率改为300.&#xff09; 新建图层&#xff1a;CtrlshiftN 放大或缩小&#xf…

内卷下的生死拐点,汽车圈「黑马们」如何突围?

即便全球经济面临通货紧缩、消费下行等压力&#xff0c;2023年新能源汽车产业依旧向阳而生。 “中国的新能源汽车已经形成一股不可估量的洪流&#xff0c;强烈冲击着全球汽车行业的技术变革和发展速度&#xff0c;而智能化、网络化等新技术的应用&#xff0c;推动汽车转变为一…

vue3-实战-13-管理后台-数据大屏解决方案-顶部组件搭建-实时游客统计

目录 1-数据大屏解决方案vw和vh 2-数据大屏解决方案scale 3-数据大屏原型需求图 4-数据大屏顶部搭建 4.1-顶部原型需求 4.2-顶部模块父组件的结构和逻辑 4.3-顶部模块子组件结构和逻辑 5-数据大屏游客统计 5.1-原型需求图分析 5.2-结构样式逻辑开发 1-数据大屏解决方…

session 和 cookie

当用户访问到一个服务器&#xff0c;如果服务器启用 session&#xff0c;服务器就会为该用户创建一个 session&#xff0c; 在创建 session 的时候&#xff0c;服务器首先检查这个用户发送来的请求里是否包含 sessionID&#xff0c; 如果有&#xff0c;说明该用户之前登录过&…

ESP32 LVGL ILI9488 3.5寸屏幕显示GIF图片

先展示一下效果 lvgl展示gif这里有一个比较坑的地方&#xff0c;虽然是8.0版本以上的都自带了gif库&#xff0c;可以方便的进行调用&#xff0c;这里只需要需改几个简单的地方就可以&#xff0c; 首先修改lv_conf.h #define LV_MEM_CUSTOM 1 #define LV_USE_GIF 1这里改好之后…

昨天做了一件差点翻车的事,修理 Macbook pro 15寸

看到网上有卖我的 Macbook pro 15寸 2013年的音箱&#xff0c;我就买了回来。准备自己换。以为有人卖&#xff0c;说有教程&#xff0c;那就可以了。 等了几天&#xff0c;昨天到货了。 晚饭后&#xff0c;开包上手。以前开过后盖&#xff0c;没看教程就直接开了。 弄了一下…

Redis和数据库保持数据一致性方案

Redis和数据库一致性又称为“双写一致性”&#xff0c;在分布式系统中&#xff0c;由于多个节点之间的并发读写操作&#xff0c;可能导致数据不一致的情况发生。本文将着重介绍如何通过使用Redis与数据库相结合的方案来实现数据一致性。 数据不一致产生的原因&#xff1a; 首先…