CAP_PROP_FRAME_WIDTH未在'如何在Microsoft Visual Studio中使用OpenCV构建应用程序'示例代码中未声明

时间:2013-10-09 16:48:25

标签: opencv visual-studio-2012

我正在按照How to build applications with OpenCV inside the Microsoft Visual Studio中的说明操作,但我从示例代码中收到错误:

  • 错误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添加到我的路径中(按照说明操作)在Installation in Windows)。然后使用属性页面(视图 - &gt;属性页或Shift-F4)设置为“所有配置”

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

  3. VS12 Property Page Screenshot

    1. 我已将$(OPENCV_DIR)\lib添加到链接器附加库目录
    2. VS12 Property Page Screenshot

      1. 我已将C:\OpenCV\build\x64\vc11\lib中lib文件的目录列表粘贴到我的输入附加依赖项
      2. VS12 Property Page Screenshot

        1. 我已将示例代码从the article复制到新的C ++控制台应用程序(使用ATL)。我必须将模板代码中的一行从int _tmain(int argc, _TCHAR* argv[])更改为int _tmain(int argc, char* argv[])
        2. 我认为未声明的标识符应该在highgui中声明,所以尽管演示代码为#include <opencv2/highgui/highgui.hpp>,为什么我没有得到它们?

          How to build applications with OpenCV inside the Microsoft Visual Studio注意事项中使用此示例代码时遇到类似问题的其他人似乎因链接错误(例如herehere而失败)但我正在通过链接器。

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

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

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分: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 keywords中有任何其他的cap prop关键字

试试这个。