Ask Your Question
0

CAP_PROP_FRAME_WIDTH undeclared in 'How to build applications with OpenCV inside the Microsoft Visual Studio' sample code

asked 2013-10-09 11:44:23 -0500

dumbledad gravatar image dumbledad
21 4

updated 2013-10-10 04:16:55 -0500

berak gravatar image berak
6639 18 83

I'm following the instructions in How to build applications with OpenCV inside the Microsoft Visual Studio but I'm getting errors from the sample code:

  • error C2065: 'CAP_PROP_FRAME_WIDTH' : undeclared identifier
  • error C2065: 'CAP_PROP_FRAME_HEIGHT' : undeclared identifier
  • error C2065: 'CAP_PROP_FRAME_COUNT' : undeclared identifier

I think the identifiers that are undeclared should (are) declared in highgui so why am I not getting them despite the demo code's #include <opencv2/highgui/highgui.hpp>?

Here are the steps I have taken.

  1. I've unpacked the OpenCV (Version 2.4.6) files into C:\OpenCV, run setx -m OPENCV_DIR C:\OpenCV\Build\x64\vc11 from an elevated command prompt and added %OPENCV_DIR%\bin to my path (following instructions in Installation in Windows). Then using the Property pages (View -> Property Pages or Shift-F4) set to 'All Configurations'

  2. I've added $(OPENCV_DIR)\..\..\include to my C/C++ Additional Include Directories

VS12 Property Page Screenshot

  1. I've added $(OPENCV_DIR)\lib to the linker Additional Library Directories

VS12 Property Page Screenshot

  1. I've cut-an-paste the directory listing of the lib files in C:\OpenCV\build\x64\vc11\lib into my input Additional Dependencies

VS12 Property Page Screenshot

  1. I've copied the sample code from the article into a new C++ console app (with ATL). I had to change one line in the template code from int _tmain(int argc, _TCHAR* argv[]) to int _tmain(int argc, char* argv[])

I think the identifiers that are undeclared should (are) declared in highgui so why am I not getting them despite the demo code's #include <opencv2/highgui/highgui.hpp>?

delete close flag offensive retag edit

Comments

I have also asked this on stackoverflow, I hope that's not poor etiquette http://stackoverflow.com/q/19278012/575530

dumbledad ( 2013-10-09 11:51:07 -0500 )edit

Maybe explicitly including the old c header will help, since the enums are actually in there:

include "opencv2/highgui/highgui_c.h"

Moster ( 2013-10-09 13:57:30 -0500 )edit
2

looks like there was some mixup (in the tutorial) with the constants in master, use :

  • CV_CAP_PROP_* in 2.4.6, and
  • cv::CAP_PROP_* in 3.0
berak ( 2013-10-10 04:16:00 -0500 )edit

Moster, that didn't work. But berak, that works. If you want to add it as an answer I'll mark it as such.

dumbledad ( 2013-10-10 05:12:03 -0500 )edit

http://code.opencv.org/issues/3314

berak ( 2013-10-10 06:08:10 -0500 )edit

Login/Signup to Answer

Question tools

Follow

subscribe to rss feed

Stats

Asked: 2013-10-09 11:44:23 -0500

Seen: 145 times

Last updated: Oct 10 '13