OpenCV4 错误:“CV_CAP_PROP_FRAME_WIDTH”未在此范围内声明
Posted
技术标签:
【中文标题】OpenCV4 错误:“CV_CAP_PROP_FRAME_WIDTH”未在此范围内声明【英文标题】:OpenCV4 error: ‘CV_CAP_PROP_FRAME_WIDTH’ was not declared in this scope 【发布时间】:2019-06-13 02:39:42 【问题描述】:我最近在我的 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
【问题讨论】:
OpenCV 3.4 不是 OpenCV 4。没有“AKA”。 OpenCV 有两个版本,而且它们是分开的。 【参考方案1】:这些常量在 OpenCV 中的名称和位置已经更改了一段时间。
对于捕获属性,它们不再以CV_
开头,因此请从所有属性中删除该前缀。您可以找到所有可用捕获属性here 的列表,注意它们都只是以CAP_PROP_
开头。
FOURCC
代码构造函数现在是VideoWriter
类上的一个方法,因此您应该使用VideoWriter::fourcc(...)
。可以在here 找到文档。
【讨论】:
以上是关于OpenCV4 错误:“CV_CAP_PROP_FRAME_WIDTH”未在此范围内声明的主要内容,如果未能解决你的问题,请参考以下文章
致命错误:opencv2/dnn.hpp:没有这样的文件或目录(opencv4)
Windows编译OpenCV4Android解决undefined reference to std错误
OpenCV4Android:non-system libraries in linker flags: -lopencv_java错误的解决
未能在 Mac(Apple M1)上安装 opencv4nodejs 会引发找不到路径错误