python3+openCV 获取图片中文本区域的最小外接矩形

李虎军 2019-04-06 12:46:46
print("thresh =",thresh)
coords = np.column_stack(np.where(thresh > 0))//获取thresh二值灰度图片中的白色文字区域的点
print("coords =",coords)

min_rect = cv2.minAreaRect(coords)//由点集获取最小矩形(包含中心坐标点、宽和高、偏转角度)
print("min_rec =",min_rect)
box = cv2.boxPoints(min_rect)//获取最小矩形的4个顶点坐标。


但是通过一下这个绘制矩形函数,画出来上述的最小矩形与文字区域偏差很大,但是获取到的偏转角度是对的。

不明白他们什么关系啊?

#  根据四点画原矩形
def drawRect(img, pt1, pt2, pt3, pt4, color, lineWidth):
cv2.line(img, tuple(pt1), tuple(pt2), color, lineWidth)
cv2.line(img, tuple(pt2), tuple(pt3), color, lineWidth)
cv2.line(img, tuple(pt3), tuple(pt4), color, lineWidth)
cv2.line(img, tuple(pt1), tuple(pt4), color, lineWidth)
有哪路朋友路过,帮一下忙,给指点一二,多谢朋友

附实验问题截图:

...全文
1939 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_45903952 2020-03-23
  • 打赏
  • 举报
回复
画矩形的脚本是自己编的,还是哪里找来的?
weixin_45903952 2020-03-23
  • 打赏
  • 举报
回复
感觉像是xy对换了,再就是角度偏的方向不对,大小应该是对的
weixin_45963617 2020-03-23
  • 打赏
  • 举报
回复
我也遇到了这个问题,这个是旋转中心坐标不对,你需要看矩形中心坐标是不是变了,或者坐标系是不是变了,希望可以帮到你
s534435877 2020-02-18
  • 打赏
  • 举报
回复 1
coords = coords[:, ::-1] x,y坐标互换一下。
isenku 2019-04-12
  • 打赏
  • 举报
回复
问题解决了么?你这个具体哪里出了问题,估计还要调试一下才知道
李虎军 2019-04-12
  • 打赏
  • 举报
回复
这个问题因为是找文字段落的外接矩形,所以用一般的图形外接矩形是不适用的,用foundconter那个方法找到的就是零散的小方框。了解也不多希望广大网友帮忙
李虎军 2019-04-12
  • 打赏
  • 举报
回复
没有解决,这个最小矩形应该没有错,只不过应该做一个转换

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧