1、通过opencv已经识别到线条数组了
2、清除矩形框线条
把矩形框里面的线条还有比较靠近边缘的线条清理
3、拼线条,计算2个线条之间的夹角,cos0°=1、 cos90°=0、 cos180°=-1
line1(P0,P1) line2(P2,P3)
先分成4组,上下左右,并排序。先判断<h/2.0 并且与水平线夹角cos值大于0.9,则为上,类似这种分组。。。
对每组去找相邻的2条线:line1(x0,y0,x1,y1),line2(x2,y2,x3,y3),先判断line1,line2是否相邻,漂移line2到P1,就是向量d(x1-x2,y1-y2). 得到新的line2n(x1,y1,x3+x1-x2,y3+y1-y2),计算line1,line2n之间的夹角cos值,这个可以找到4组大线,再去查找4组大线里面的内线.
现在需要做的是,延长4条线,4条线相交找4个点,变成矩形;
寻找2条线的交点坐标--
缺点:当找到4组大线,没有去匹配他们的夹角,找到最优的矩形框。目前只是粗劣使用内矩形框。
网友评论