流程图检索-相关-流程图检测与内容提取

该博客详细分析了一个名为FlowChart的工程,利用OpenCV进行流程图检测。主要步骤包括:图像二值化、椭圆和矩形识别、元素数量判断、线条识别、逻辑关系建立、OCR文字提取及规则判断,最终将结果存储在XML文件中。识别过程中,存在误检率高和依赖自定义参数的问题。
摘要由CSDN通过智能技术生成

这部分主要是LT做的。这里对他的代码进行下分析,活学活用。

工程是FlowChart,主要是FlowChart.cpp的recognize函数,处理过程如下:

【1. 读取图像,将其转为二值图。】

使用了openCV里的东西,所以比较方便。它全称是Open Source Computer Vision Library。计算机视觉市场巨大而且持续增长,且这方面没有标准API,所以OpenCV应运而生。如有直接读取图片的函数IplImage *pSrc = cvLoadImage(imgName,0);,还有直接二值转化的函数cvCvtColor(pSrc,pDump,CV_GRAY2BGR);。

【2.识别椭圆形。】

识别图形方面,OpenCV也有专门的函数cvFindContours,用来找到图像中的轮廓,然后对这些轮廓进行判断,检测他们是否满足椭圆的几何特性。在这些轮廓中进行选择3个点来进行椭圆拟合,进行多次迭代,这个也有cvFitEllipse2。进行判断。

这里用到的识别,基于hough变换,参考另一篇转载的文章。

当然,强大的openCV也有相关的函数进行处理cvHoughCircles。

【3.识别矩形。】

这与上面的第二步类似。还有需要做到的,进行整合。因为在图像中的同一个矩形框,可能会被多次识别出来(因为边有厚度)。所以,要整合这些矩形框。

openCV里没有直接的检测矩形的函数,可以通过检测出直线,再处理判断平行垂直的四条线.cvLine2.

【4.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值