2

我正在按照如何在 Microsoft Visual Studio 中使用 OpenCV 构建应用程序中的说明进行操作,但示例代码中出现错误:

  • 错误 C2065:“CAP_PROP_FRAME_WIDTH”:未声明的标识符
  • 错误 C2065:“CAP_PROP_FRAME_HEIGHT”:未声明的标识符
  • 错误 C2065:“CAP_PROP_FRAME_COUNT”:未声明的标识符

我认为未声明的标识符应该在 highgui 中声明,那么尽管有演示代码,为什么我没有得到它们#include <opencv2/highgui/highgui.hpp>

以下是我已采取的步骤。

  1. 我已将 OpenCV(版本 2.4.6)文件解压缩到C:\OpenCV中,setx -m OPENCV_DIR C:\OpenCV\Build\x64\vc11从提升的命令提示符运行并添加%OPENCV_DIR%\bin到我的路径中(按照在 Windows 中安装中的说明进行操作)。然后使用设置为“所有配置”的属性页(查看 -> 属性页或 Shift-F4)

  2. 我已添加$(OPENCV_DIR)\..\..\include到我的 C/C++ 附加包含目录

VS12 属性页截图

  1. 我已将$(OPENCV_DIR)\lib附加库目录添加到链接器中

VS12 属性页截图

  1. 我已将 lib 文件的目录列表剪切并粘贴C:\OpenCV\build\x64\vc11\lib到我的输入附加依赖项中

VS12 属性页截图

  1. 我已将文章中的示例代码复制到一个新的 C++ 控制台应用程序(使用 ATL)中。我不得不将模板代码中的一行从更改int _tmain(int argc, _TCHAR* argv[])int _tmain(int argc, char* argv[])

我认为未声明的标识符应该(已)在 highgui 中声明,那么尽管有演示代码,为什么我没有得到它们#include <opencv2/highgui/highgui.hpp>

其他人在如何在 Microsoft Visual Studio注释中使用 OpenCV 构建应用程序中获取此示例代码时遇到类似问题似乎因链接错误(例如此处此处)而失败,但我正在通过链接器。

========== 编辑 ==========

示例代码似乎存在更多无法克服的困难。它被记录为加载和显示图像的简单示例,其路径作为唯一参数提供给main,而代码列表本身是需要四个命令行参数的视频代码(即它首先检查并停止 if argc != 5)。我已经提交了一个文档错误。我认为示例代码清单应该取自:https ://github.com/Itseez/opencv/blob/master/samples/cpp/tutorial_code/introduction/display_image/display_image.cpp

4

2 回答 2

9

尝试使用 CV_CAP_ 或 cv::CAP_... 看起来有一些更改旨在提高 OpenCV 中常量的一致性...

于 2013-10-10T06:06:26.813 回答
0

我正在使用 opencv 2.4.6,这帮助我做到了

change CAP_PROP_FRAME_WIDTH into CV_CAP_PROP_FRAME_WIDTH
change CAP_PROP_FRAME_HEIGHT into CV_CAP_PROP_FRAME_HEIGHT
change CAP_PROP_FRAME_COUNT into CV_CAP_PROP_FRAME_COUNT

同样,如果在 cv cap prop 关键字中有任何其他 cap prop 关键字

尝试这个。

于 2013-11-06T07:37:21.663 回答