【问题标题】:Unresolved external symbol error in openCVopenCV中未解决的外部符号错误
【发布时间】:2012-02-28 17:10:13
【问题描述】:

我是openCV的初学者。我一直在尝试在 Windows 平台上进行人脸检测和识别。我已经集成了不同的代码。我也在使用 PCA 方法来识别面孔。我收到如下错误,

错误 1 ​​错误 LNK1120:2 未解决的外部错误 2 错误 LNK2019: 函数中引用的未解析的外部符号 _cvCalcEigenObjects "void __cdecl doPCA(void)" (?doPCA@@YAXXZ) 错误 3 错误 LNK2019: 函数中引用的未解析的外部符号 _cvEigenDecomposite "void __cdecl learn(char *)" (?learn@@YAXPAD@Z)

有人可以解决吗.,..

【问题讨论】:

  • 您使用的是哪个开发环境?你链接到opencv lib文件了吗?
  • 是的,我已经链接了所有的 lib 文件……显示示例图像的演示程序工作正常……
  • 我正在使用 Visual Studio。
  • 在项目属性 - 链接器 - 常规下,“附加库目录”设置是否正确?这是假设您没有使用 Linker -Input 选项卡下的库的完整路径
  • 我已经指定了 OpenCv 库位置..我在调用 cvCalcEigenObjects 和 cvEigenDecomposite 的函数中遇到错误..它是否在任何特定的标头中定义?

标签: image-processing opencv face-recognition


【解决方案1】:

正如您所说,您正在使用 VS 并且显示图像的演示程序工作正常。也许您刚刚在 Additional Dependencies 中添加了几个 lib 文件。继续添加该功能所需的更多内容。而且您似乎想要在您的数据上尝试 PCA。请参阅http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html?highlight=pca#PCA 的 PCA 文档。如果您想要一些真正有效的代码,请访问 this page。不同数据库的输入集可以是不同的,但必须是灰度的,并调整为相同的大小。

【讨论】:

  • PCA 相关请参见堆栈问题stackoverflow.com/questions/8938207/…
  • cv210d.lib cxcore210d.lib highgui210d.lib ml210d.lib opencv_ffmpeg210.lib 这些是我在附加依赖中添加的lib文件,不好吗?
  • 我认为你应该添加 imgproc210d.lib,objdetect210d.lib 另外。顺便说一句,我正在使用 opencv 2.3 并且刚刚检查了博客上的代码。它确实有效。如果你发现一些未处理的异常只是check 检查您的输入是否已正确预处理。
  • 我刚刚检查了我已经安装并一直在使用的 OpenCV2.1 的 lib 文件夹,我没有找到您指定的上述两个 .lib 文件!
  • 我下载了所有版本的 OpenCV 。但我从来没有在任何地方找到 imgproc210d.lib,objdetect210d.lib 文件。请建议我获取这些文件的方法。
猜你喜欢
  • 2011-09-03
  • 2010-11-20
  • 1970-01-01
  • 1970-01-01
  • 2021-10-30
  • 2011-10-21
  • 2012-10-21
  • 2014-05-12
相关资源
最近更新 更多