OpenCV4错误:在此范围内未声明“ CV_CAP_PROP_FRAME_WIDTH”

时间:2019-06-13 02:39:42

标签: opencv opencv4 highgui

我最近在Ubuntu 18.04 LTS上从OpenCV3.3迁移到了最新版本的OpenCV4。我的安装存在一些永久性问题。当我遵循this安装教程时,我的安装没有出现任何错误。但是,每当我在项目中包含模块opencv2/highgui.hpp时,都会遇到如下问题。当我点击this链接时,这似乎是由highgui.hpp引起的。

/home/arun/Documents/AutonomousLaneDetection/app/main.cpp: In function ‘int main(int, char**)’:
/home/arun/Documents/AutonomousLaneDetection/app/main.cpp:118:36: error: ‘CV_CAP_PROP_FRAME_WIDTH’ was not declared in this scope
 int videoWidth = videofile.get(CV_CAP_PROP_FRAME_WIDTH);
                                ^~~~~~~~~~~~~~~~~~~~~~~
/home/arun/Documents/AutonomousLaneDetection/app/main.cpp:119:37: error: ‘CV_CAP_PROP_FRAME_HEIGHT’ was not declared in this scope
 int videoHeight = videofile.get(CV_CAP_PROP_FRAME_HEIGHT);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~
/home/arun/Documents/AutonomousLaneDetection/app/main.cpp:123:27: error: ‘CV_FOURCC’ was not declared in this scope
                       CV_FOURCC('M', 'J', 'P', 'G'), 10,
                       ^~~~~~~~~
/home/arun/Documents/AutonomousLaneDetection/app/main.cpp:123:27: note: suggested alternative: ‘CV_BLUR’
                       CV_FOURCC('M', 'J', 'P', 'G'), 10,
                       ^~~~~~~~~
                       CV_BLUR

1 个答案:

答案 0 :(得分:2)

这些常量的名称和位置在OpenCV中已更改了一段时间。

对于捕获属性,它们不再以CV_开头,因此从所有前缀中删除该前缀。您可以找到所有可用捕获属性here的列表,请注意,它们都以CAP_PROP_开头。

FOURCC代码构造函数现在是VideoWriter类上的方法,因此您应该使用VideoWriter::fourcc(...)。可以在here中找到该文档。