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
7200 15 72
http://go-faces.appspot.c...

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: 98 times

Last updated: Oct 10 '13