设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『机器视觉/AI/IoT/机器人论坛』
›
OpenCV矩形检测
返回列表
发新帖
OpenCV矩形检测
[复制链接]
64002
|
0
|
2024-1-10 09:31:57
|
显示全部楼层
|
阅读模式
点击我爱计算机视觉标星,更快获取CVML新技术
今天在52CV交流群里有朋友问到矩形检测的问题,恰好前几天做了一个与此相关的项目,调研了一下相关的算法(期间被某带bug的开源代码坑了很久,为防止大家掉进坑里),就把我认为比较好的的一种开源实现分享给大家。
矩形检测有什么用?
世界上有各种各样的形状,但机器视觉中我们关注的形状却往往是规则的,比如圆形(OpenCV有霍夫变换函数可以直接检测),椭圆(之前分享过一篇非常棒的博文:开源、快速、高精度的椭圆检测—你值得拥有!),矩形。
一个非常熟悉的例子是 拍摄的文本的预处理。
将文档定位出矩形,然后透视变换校正,方便后续的OCR。
虽然矩形检测看起来不难,好像是只要定位到四条边判断两两直线夹角就好了,但要做好也不是那么简单的,Code用时方恨少,这篇博文你一定要收藏啊!
分享的开源代码地址:
https://github.com/alyssaq/opencv
其算法流程:
1.中值滤波去噪;
2.依次提取不同的颜色通道(BGR)检测矩形;
3.对每一通道使用canny检测边缘或者使用多个阈值二值化;
4.使用findContours函数查找轮廓;
5.使用approxPolyDP函数去除多边形轮廓一些小的波折;
6.找到同时满足面积较大和形状为凸的四边形;
7.判断轮廓中两两邻接直线夹角余弦是否小于0.3(意味着角度在90度附近),是则此四边形为找到的矩形。
该代码效果还是不错的!
仅依赖OpenCV,linux和windows下的编译都很简单。
再发一下地址:
https://github.com/alyssaq/opencv
赶紧试用一下吧,你也能做出一个扫描全能王了~
加群交流
关注计算机视觉与机器学习技术,欢迎加入52CV群,扫码添加52CV君拉你入群(请务必注明:加群):
喜欢在QQ交流的童鞋,可以加52CV官方QQ群:928997753。
(不会时时在线,如果没能及时通过验证还请见谅)
更多技术干货,详见:
新年快乐!"我爱计算机视觉"干货集锦与新年展望
长按关注我爱计算机视觉
【点赞与转发】就是一种鼓励
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
suzhen
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』