我无法将OpenCV中的HoughLines转换应用于我发布的图像。所有线条都应朝向15度,但这会在多个方向上产生许多线条。我怎么能这样做?!
this是图片。
答案 0 :(得分:2)
是的,霍夫不会在这里申请..太多的白色像素。
但是,您可以通过一些图像处理获得这些线条。我会这样做:
您可以使用所有白色像素的RotatedRect
获取minAreaRect
,然后在知道yourRect.angle
的情况下旋转原始图片。
我认为您的原始图像代表文字。文档分析中有很多技术可以纠正"纠正"你的形象,即纠正倾斜。
您可以使用垂直(或水平)投影直方图。基本上,您计算每个x(y)坐标的白色像素数。
您可以在OpenCV中使用函数reduce
作为参数CV_REDUCE_SUM
来执行此操作。
现在,您可以轻松识别直方图为0的行之间的空格(更好地应用小阈值)。您的行将在两个连续的空格之间。
希望它有所帮助!