算法名称:Stroke Width Transform(SWT)笔画宽度变换算法出处:《Detecting Text in Natural Scenes with Stroke Width Transform》http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5540041&tag=1算法用途:自然场景文本检测算法思想:算法步骤:
The Stroke Width Transform 输入:待检测图像的灰度图 输出:与输入图像同样大小的笔画宽度图像,每个像素位置记录其笔画宽度 the first pass 1. Canny算子提取灰度图边缘; 2. 计算每个边缘像素点的梯度方向; 3. 分别以每个边缘像素点p作为起点发出射线,射线方向为该像素点的梯度方向dp,射线的最大寻找宽度预先指定 。r=p+n·dp, maxSearchWidth>n>0; 4. 如果p发出的射线寻找到另一个边界像素点q,且q的梯度方向与p大致相反(dq = -dp±π/6)。那么p与q之间的距离即为射线路径上所有点的笔画宽度。如果射线没有找到满足的条件q(最大寻找宽度内,梯度方向大致相反)那么废弃掉该射线; 5. 如果一个点被多条路径经过,那么其笔画宽度取这些笔画宽度的最小值。如图(a),水平和垂直方向上均检测到该点,取最小值。 (第一趟检测存在的问题是,对于图像拐点处,可能取值不符合实际。如图(b),拐点在水平和垂直方向上的笔画宽度取值都比较大,显然不是想要的结果。) the second pass 1. 对于第一趟未废弃的射线,计算该路径上所有像素点笔画宽度的中值,对于路径上大于该值的像素点全部赋予中值。算法实现:
转载于:https://www.cnblogs.com/fcyblogs/p/8727128.html