【发布时间】:2017-12-06 08:13:30
【问题描述】:
我有一张单词图片,每个单词都以矩形轮廓为界。我需要对矩形轮廓向量进行排序,以便对其进行一些操作。
这是文字的图片(带有轮廓)。 image with contours
我尝试对其进行排序,我的比较功能是
bool my_compare(Rect2d rect1, Rect2d rect2)
{ if(((rect1.tl().y) <= rect2.tl().y) &&(rect1.tl().y < rect2.br().y))
return (rect1.tl().x < rect2.tl().x);
return (rect1.tl().y < rect2.tl().y);
}
我也试过了
if((rect1.tl().y == rect2.tl().y))
return (rect1.tl().x < rect2.tl().x);
return (rect1.tl().y < rect2.tl().y);
结果排序不正确(它不是从最左上角开始,或者它开始但它跳过了同一行中的轮廓)。
【问题讨论】:
-
它已经通过阈值方法起作用了,我想按照你的方式做,但是..我相信它可以用比这更简单的方法来完成,无论如何谢谢!
标签: c++ sorting opencv image-processing opencv-contour