Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 未在'中声明的封盖支柱框架宽度;如何在Microsoft Visual Studio';示例代码_Opencv_Visual Studio 2012 - Fatal编程技术网

Opencv 未在'中声明的封盖支柱框架宽度;如何在Microsoft Visual Studio';示例代码

Opencv 未在'中声明的封盖支柱框架宽度;如何在Microsoft Visual Studio';示例代码,opencv,visual-studio-2012,Opencv,Visual Studio 2012,我按照中的说明进行操作,但从示例代码中发现错误: 错误C2065:“CAP\u PROP\u FRAME\u WIDTH”:未声明的标识符 错误C2065:“CAP\U PROP\U FRAME\U HEIGHT”:未声明的标识符 错误C2065:“CAP\U PROP\U FRAME\U COUNT”:未声明的标识符 我认为未声明的标识符应该在highgui中声明,那么为什么尽管演示代码的#include,我还是不获取它们呢 以下是我采取的步骤 我已将OpenCV(版本2.4.6)文件解压

我按照中的说明进行操作,但从示例代码中发现错误:

  • 错误C2065:“CAP\u PROP\u FRAME\u WIDTH”:未声明的标识符
  • 错误C2065:“CAP\U PROP\U FRAME\U HEIGHT”:未声明的标识符
  • 错误C2065:“CAP\U PROP\U FRAME\U COUNT”:未声明的标识符
我认为未声明的标识符应该在highgui中声明,那么为什么尽管演示代码的
#include
,我还是不获取它们呢

以下是我采取的步骤

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

  • 我已经将
    $(OPENCV\u DIR)\..\..\include
    添加到我的C/C++附加include目录中

  • 我已将
    $(OPENCV\u DIR)\lib
    添加到链接器的其他库目录中
  • 我已将
    C:\OpenCV\build\x64\vc11\lib
    中的lib文件目录列表剪切粘贴到我的输入附加依赖项中
  • 我已经将示例代码复制到一个新的C++控制台应用程序(ATL)。我不得不将模板代码中的一行从
    int\u tmain(int-argc,\u-TCHAR*argv[])
    更改为
    int\u tmain(int-argc,char*argv[])
    我认为未声明的标识符应该在highgui中声明,那么为什么尽管演示代码的
    #include
    ,我还是没有得到它们呢

    其他有类似问题的人在注释中使用此示例代码时,似乎会出现链接错误(例如和),但我正在通过链接器

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


    对于示例代码,似乎有更多无法克服的困难。它是一个加载和显示图像的简单示例,其路径作为
    main
    的唯一参数提供,而代码列表本身是需要四个命令行参数的视频代码(即,如果
    argc!=5
    ,它首先检查并停止)。我已经提交了一份报告。我认为示例代码清单应该取自以下内容:

    尝试使用CV\u CAP\uuu或CV::CAP\uuu。。。看起来有一些旨在改进OpenCV中常量一致性的更改…

    我正在使用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
    
    同样,如果有任何其他cap prop关键字进入cv cap prop关键字


    试试这个。

    我也在OpenCV论坛上问过这个问题,我希望这不是不礼貌的礼节。我不知道这是否是一个问题,但您使用x64二进制文件进行x86配置。您已经设置了C:\OpenCV\Build\x64\vc11,请注意\x64\prefix。如果要在32位体系结构计算机上运行代码,请编辑C:\OpenCV\Build\x86\vc11的路径。否则,请在Configuration Manager>Active Solution Platfrom>>x64@OpenMinded你是对的。一旦我解决了问题是关于使用的问题,我就会得到一个链接错误:
    错误LNK112:模块机器类型“x64”与您的建议修复的目标机器类型“X86”冲突。
    就是这样,谢谢@morynicz。在OpenCV论坛上,berak注意到(在教程中)似乎与常量有一些混淆,并建议我在2.4.6中使用CV_CAP_PROP_*或在3.0中使用CV::CAP_PROP_*