另一个OpenCV / cvBlob和架构问题

Another OpenCV / cvBlob and Architecture Issue

本文关键字:问题 cvBlob OpenCV 另一个      更新时间:2023-10-16

虽然之前有人问过这个问题,但很多人认为这不是基本的安装问题(虽然答案可能很简单(。

好的,我正在并行运行两个 OpenCV 安装(2.3.1 和最新的 2.4(,但我主要使用 2.3.1。

所以,我之前(在同一台机器上(有过 cvBlob 工作正常,但我开始重新安装。无论如何,我已经成功地构建了OpenCV,并且我已经从CvBlob项目站点进行了更改,将OpenCV库包含在CMakeLists中.txt

为了确保OpenCV没问题,我已经运行并重新运行make和make install,以确保它位于usr/local/include目录中。使用 OpenCV 的测试应用程序工作正常,使用 file opencv_library.dylib 显示 opencv 库是 64 位的。

关于问题的症结,我从 cvblob 目录的根目录运行cmake .,一切都很好。 make然后sudo make install运行,我被告知一切都很顺利。同样,file表明libcvblob是一个64位库,尽管我没有使用它。

我去了一个同时使用 opencv 和 cvblob 的 c

++ 程序,其中包含 opencv.hpp 和 cvblob.h 的绝对路径。

然后,这个:

Undefined symbols for architecture x86_64: "_cvLabel", referenced from: _main in cchIl24a.o "_cvFilterByArea", referenced from: _main in cchIl24a.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status

除了显而易见的之外,不确定出了什么问题,但它应该链接到 opencv 库,我看不出我可能出错的地方。有人有什么想法吗?

所有这些关于cvBlobLib的问题都来自过去,当时OpenCV没有blob跟踪器,有人写了它,并放在网上。出于某种原因,它变得非常流行。

但那是很多年前的事了。

现在,您可以简单地使用与opencv捆绑在一起的SampleBlobDetector,而没有麻烦。它更成熟,更健壮,并且具有更多功能。而且您不必担心包含/链接问题。