服装网站页面设计,宁波建设银行网站分部,php 怎么做视频网站,外贸管理软件免费摘要#xff1a;本文介绍一下在ubuntu系统中#xff0c;运行一个最简单的opencv4程序都出问题的解决方法#xff0c;并对其基本原理作简单阐述。解决问题的方法有很多#xff0c;本文只提供其中一种。 opencv版本是4.2.0#xff0c;ubuntu版本是20.04
查询opencv版本的指…摘要本文介绍一下在ubuntu系统中运行一个最简单的opencv4程序都出问题的解决方法并对其基本原理作简单阐述。解决问题的方法有很多本文只提供其中一种。 opencv版本是4.2.0ubuntu版本是20.04
查询opencv版本的指令是pkg-config --modversion opencv4
pkg-config --modversion opencv4
注意命令最后的数字4要有否则可能会出错。提示您Package opencv was not in the pkg-config --modversion opencv错误信息回有4行最后一行是No package opencv found。 查询ubuntu版本的指令是
cat /proc/version
提示的信息有很多有linux版本号GCCGNU以及ubuntu版本号我们只关注ubuntu。提示信息是 20.04.1-Ubuntu SMP 在这样的编程环境下编写C代码没想到会遇到很多的问题就连编译一个最简单的程序都不可以例如我们编译一下下面的一段代码。
源代码是官网的那个注意不同版本的程序要以官网为准。链接是Get Started - OpenCV
#include opencv2/core.hpp
#include opencv2/highgui.hpp
using namespace cv;
int main()
{std::string image_path lambo.png;Mat img imread(image_path, IMREAD_COLOR);imshow(Display window, img);int k waitKey(0); // Wait for a keystroke in the windowreturn 0;
}
如果您使用vscode编辑器直接debug会提示您有一个错误意思是找不到头文件。 “opencv2/core/core.hpp”: No such file or directory 我们的ubuntu下安装了opencv即使您再次安装会发现已经安装过了不用更新了。
sudo apt install libopencv-dev
解决方法是在usr/include下创建一个快捷方式
sudo ln -s /usr/include/opencv4/opencv2 /usr/include
注意运行这些命令前您最好到图形化的界面下到指定的目录看看到底有没有这些文件夹。执行完命令后您会发现在usr/include目录下创建了一个opencv2的快捷方式其实这个文件夹就是在opencv4里面但是系统会一直在include目录下来寻找找不到所以就提示了错误信息现在我们做了一个快捷方式那么系统就能找到了就不再提示错误信息。按照这个分析我们在图形化界面中创建一个快捷方式也是可以用的。 完成以上步骤后程序还是不能运行如果您在vscode下面debug仍然会提示有其他的错误信息。解决这些错误的方法有很多花生没有一一验证这里提供一个确保可以使用的方法 解决思路不用vscode来debug而用CMakeLists.txt来解决直接在命令行cmake即可 具体执行就是在c源文件目录下新建一个txt文件命名为CMakeLists.txt然后在里面填写一些规定格式的信息这个文件有很多讲究包括第一行就必须有版本要求。set指令是我们需要的核心指令hello.cpp是我们源代码的名字。
cmake_minimum_required(VERSION 3.16)
project( HELLO )
set(${OpenCV_INCLUDE_DIRS} /usr/include/opencv4/opencv2)
set(${OpenCV_LIBS} /usr/lib/x86_64-linux-gnu/)
find_package(OpenCV 4.2.0 REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS}
)add_executable( hello ./hello.cpp )
target_link_libraries(hello ${OpenCV_LIBS})
在hello.cpp目录下打开terminal然后使用cmake指令后面跟了一个圆点表示编译本目录。
cmake .
cmake之后要再make一下才能生成可执行文件。
make
要想执行这个hello可执行文件需要指令
./hello
执行的效果就是将一张名为lambo.png的图片显示出来。完成了这一步您就可以在代码中扩展更多的opencv功能了。
此外帮助文档也尽量以opencv官网文档为准因为opencv4和opencv2的一些指令有改变如果从网上下载一些老版本的代码可能在您的程序中无法使用所以要以官方文档为准这个文档是可以切换版本的。
OpenCV: Introduction