避坑指南 | OpenCV4中这个函数慢到让你怀疑人生

2023-11-22 15:06:00 浏览数 (3)

问题

我最近在测试OpenCV实验大师软件平台,发现一个奇怪的现象,就是我只要用下面这张图像以后,我的轮廓分析算子运行时间就会慢的让我怀疑人生:

于是我仔细走查了一遍代码,发现有一个API函数可能是导致这个问题根本原因,这个函数就是我在求取OpenCV的最大内接圆使用的:

代码语言:javascript复制
pointPolygonTest (// 点多边形测试
  InputArray contour,
  Point2f pt,
  bool measureDist
)

这个方法会遍历轮廓中每个像素点,然后求取它们跟轮廓中心之间的距离,当轮廓比较大的时候这种遍历计算就会产生很大的性能瓶颈,导致速度很慢。于是我尝试把这段代码注释了,发现我的运行速度即可有提升了,图示如下:

从此,我又相信OpenCV了。

特别说明

请用OpenCV4.8版本测试。

0 人点赞