【问题标题】:Sort bounding boxes with Tl() : Opencv Android使用 Tl() 对边界框进行排序:Opencv Android
【发布时间】:2015-04-26 23:09:17
【问题描述】:

我正在尝试使用 y 轴和 x 轴对边界框进行排序,但是我从 tl().x 和 tl().y 找到的结果有点令人困惑,经过大量工作后我在其中找不到任何东西文档。这是一些结果,请看一下。我希望它们按 1 到 30 的顺序排列

代码:

m = Utils.loadResource(MainActivity.this, R.drawable.sheet1, Highgui.CV_LOAD_IMAGE_COLOR);
//Mat original = Utils.loadResource(MainActivity.this, R.drawable.sheet1, Highgui.CV_LOAD_IMAGE_COLOR);
Bitmap bm = Bitmap.createBitmap(m.cols(), m.rows(),Bitmap.Config.ARGB_8888);

Imgproc.cvtColor(m, m, Imgproc.COLOR_BGR2GRAY);
Imgproc.medianBlur(m, m,3); 
Imgproc.threshold(m, m, 0, 255, Imgproc.THRESH_OTSU);
Core.bitwise_not(m, m);
Imgproc.dilate(m, m, Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(1,118)));

java.util.List<MatOfPoint> contours = new ArrayList<MatOfPoint>();                  
Imgproc.findContours(m.clone(), contours, new Mat() ,Imgproc.RETR_EXTERNAL , Imgproc.CHAIN_APPROX_SIMPLE);
Rect rect = Imgproc.boundingRect(contours.get(35));                         
Toast.makeText(MainActivity.this, "TL:"+rect.tl()+"BR:"+rect.br(), Toast.LENGTH_LONG).show();

编辑:

这是裁剪区域,上面显示的坐标是这些框的。

原图:

【问题讨论】:

  • 请提供更多有关该场景的背景信息并缩小您的问题范围 - 具体来说,您对什么感到困惑/需要帮助吗?
  • 如果您还可以列出您在文档的哪些方面寻求帮助以解决您的问题,它可以帮助我们更快地为您提供答案。
  • @snickers10m 我试图寻找边界框
  • 好的,请使用“编辑”按钮(在您列出的标签下方)将任何新信息添加到您的帖子中,这是放置它的最佳位置。然后,继续我在您的问题中指出的其他问题。
  • @snickers10m MCQ 16 开始在图像的右侧,但为什么它们的 y 分量较少?

标签: java android opencv contour bounding-box


【解决方案1】:

因此,您希望先从左到右然后从上到下优先排序。 x 坐标更重要,但是对于 similar x 而言,y 才是最重要的。编写一个排序函数,其中你有一个伪代码如下所示的关系:

boolean isLessThan(bboxA,bboxB,unsigned int tolerance = 100) {

    if (bboxA.tl().x + tolerance < bboxB.tl().x);
         return true;
    if (bboxB.tl().x + tolerance < bboxA.tl().x);
         return false;
    return (bboxA.tl().y < bboxB.tl().y);

    }

(或硬编码tolerance

【讨论】:

  • 这里的容差是什么?
  • @HelpingDesk 对于​​类似的 x(从左侧的位移),重要的是 y 坐标。要定义“相似”,请使用阈值:如果它们的 x 坐标差异在此阈值内,则必须检查 y 坐标。我将此阈值称为“容忍度”。
猜你喜欢
  • 2015-07-13
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 2021-10-20
  • 2013-02-07
  • 1970-01-01
  • 2015-03-08
  • 1970-01-01
相关资源
最近更新 更多