imutils库中contours相关函数的使用方法

How to use the contours related functions in the imutils library

关于OpenCV相关的imutils库,我有以下问题:

  1. contours.sort_contours()的作用是什么?

  2. (cnts, _) = contours.sort_contours(cnts)在上面的语句中,(cnts, _)是什么意思,尤其是'_'

注:cnts是包含识别图像轮廓的变量 我的英语不是很好,对不起!谢谢大家的回答和帮助!

imutils 库是一个方便的库,旨在简化基本图像处理任务 (https://github.com/PyImageSearch/imutils)。

其中一项任务是对图像中的轮廓进行排序和标记。基于 documentation provided here,有一个单独的 contours.py 文件托管 sort_contours()label_contour 函数。 (你需要记住,这些功能只能在使用 OpenCV 找到等高线后才能使用)

现在回答你的问题:

1. contours.sort_contours() 的作用是什么?

  • 我会推荐给你a sample code here。在第 35 行中,作者以这种方式从文件 contours.py 中访问函数 sort_contour()contours.sort_contours().
  • 该函数接受两个参数:轮廓和排序排列("left-to-right", "right-to-left", "top-to-bottom", "bottom-to-top")
  • 函数returns排序轮廓及其对应边界框的列表

2。理解 (cnts, _) = contours.sort_contours(cnts)

  • 如前所述,该函数接受轮廓作为输入 cnts
  • 相同的变量cnts用于存储排序后的轮廓。
  • 由于函数returns双重输出(排序后的轮廓及其边界框),第二个变量被分配_,它存储边界框。 _ 主要在不需要进一步处理时用作变量。