[C++] 详细教程 - opencv4.8.0安装和验证测试 (Windows + Linux)

这篇具有很好参考价值的文章主要介绍了[C++] 详细教程 - opencv4.8.0安装和验证测试 (Windows + Linux)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如何安装C++版本的OpenCV

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它包含了许多常用的图像处理和计算机视觉算法。本文将介绍如何在Linux(Ubuntu)和Windows系统下安装C++版本的OpenCV,并提供验证测试的方法。

一、OpenCV简介

OpenCV是一个跨平台的计算机视觉库,它可以用于开发实时的图像处理和计算机视觉应用。OpenCV的主要功能包括:图像处理、特征检测、物体识别、人脸识别等。OpenCV支持多种编程语言,如C++、Python、Java等。

OpenCV - Open Computer Vision Library

Get Started - OpenCV

二、Linux(Ubuntu)下安装opencv

更新系统软件包

在安装OpenCV之前,首先需要更新系统的软件包列表。在终端中输入以下命令:

sudo apt-get update

安装CMake

sudo apt install -y cmake

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

安装gcc和g++

sudo apt install -y build-essential

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

方式1:通过apt直接安装(Ubuntu20.4+opencv4.2.0)

 查看当前Ubuntu系统版本和对应的opencv版本
sudo uname -a 
sudo apt-cache madison libopencv-dev

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

安装opencv4.2.0
sudo apt install -y libopencv-dev

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

安装成功,下面是安装的相关路径:

include目录: /usr/include/opencv4/

lib目录:/usr/lib/x86_64-linux-gnu/

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

其中“*.a”的文件为库文件,“*.so”文件为动态连接库。

bin目录文件:/usr/bin

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

这种安装方式会自动安装opencv依赖的第三方库,但是无法安装比较新的版本,比如4.8.0

sudo apt install -y libopencv-dev=4.8.0

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

验证安装是否成功

最简单的方式是:

whereis opencv_version
opencv_version

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

或者

安装完成后,可以通过编写一个简单的程序来验证OpenCV是否安装成功。创建一个名为test_opencv.cpp的C++文件,内容如下:

#include <iostream>
#include <opencv2/opencv.hpp>

int main() {
    std::cout << "OpenCV version: " << CV_VERSION << std::endl;
    return 0;
}

在终端中运行这个程序:

g++ test_opencv.cpp -o test_opencv `pkg-config --cflags --libs opencv4`
./test_opencv

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

方式2:从源代码进行安装(ubuntu20.4+opencv 4.8.0)

OpenCV: Installation in Linux

安装相关依赖
sudo apt install -y cmake g++ wget unzip
下载opencv4.8.0的源代码 
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.8.0.zip

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

解压下载回来的源代码
unzip opencv.zip
创建并进入构建目录 
mkdir -p build && cd build
配置opencv

设置安装目录为用户目录的 opencv4.8.0_install子目录。

cmake  ../opencv-4.8.0 -DCMAKE_INSTALL_PREFIX=~/opencv4.8.0_install
验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言
构建opencv
cmake --build .
验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言
验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言
构建完成之后检查构建结果

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言
验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言
 
安装opencv到用户级别(可选)

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

备注:如果整个过程没有报错了,说明没有安装成功。

安装opencv到操作系统级别(可选,不建议)
sudo make install

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

注意:这个默认会在操作系统级别更新opencv的版本,一般情况下,我们采用CMake来进行项目构建,通过CMake项目来设置对新构建的opencv版本依赖关系,这样方便我们维护项目之间的opencv版本相互独立。

验证安装是否成功

直接运行构建出来的bin文件:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

或者通过CMake项目+CPP代码来进行测试:

在用户目录下创建“cmake_opencv_demo”,在该目录下创建“CMakeLists.txt”:

cmake_minimum_required(VERSION 3.15)
project(opencv_demo LANGUAGES CXX C)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(OpenCV_DIR ~/build/)
find_package(OpenCV REQUIRED)
message(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
message(STATUS "OpenCV_LIBS: ${OpenCV_LIBS}")
add_executable(opencv_demo main.cpp)
target_include_directories(opencv_demo PRIVATE ${OpenCV_INCLUDE_DIRS})
target_link_libraries(opencv_demo ${OpenCV_LIBS}) 

和 “main.cpp”:

#include <iostream>
#include <opencv2/opencv.hpp>

int main() {
    std::cout << "OpenCV version: " << CV_VERSION << std::endl;
    return 0;
}

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

 进入“cmake_opencv_demo”,通过“cmake -S . -B build”构建c++项目:验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

通过“cmake --build build”目录生成可执行文件:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

运行可执行文件:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

三、Windows系统安装OpenCV

方式1:直接下载windows安装包

进入Release OpenCV 4.8.0 · opencv/opencv · GitHub

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

下载完,直接解压到的“D:\opencv\opencv4.8.0”即可:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

sources: 为源代码目录。

build:基于vs 2019构建的版本。

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

include:包含相关头文件。

x64:使用vs 2019 构建的x64的Debug和Release版本。

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

bin:windows下相关exe工具,以及包含所有模块的动态库(dll), 带'd'为Debug版本。

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言lib:包含所有模块的库文件,  带'd'为Debug版本。验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

方式2:从源代码构建(vs 2022)

安装CMake,可以参考

[CMake] 基础教程 - CMake安装和验证测试(Windows)

使用“cmake-gui”进行项目配置

源代码目录设置“D:/opencv/opencv4.8.0/sources”,构建目录设置为“D:/opencv/opencv4.8.0/sources/build”:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

点击“Configure”,点击“Yes”创建构建目录。

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

 我本地安装的是VS 2022,这里我选择 Visual Studio 17 2022。

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

点击“Finish”等待配置完成:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言
配置完成,你将能看到构建opencv能使用的CMake选项。

这里还可以看到默认情况下,库文件和动态库的安目录:验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

默认情况下,opencv会构建动态连接库,如果你想构建静态连接库(库会很大,不推荐),你可以选中“Advanced”,然后修改“BUILD_SHARED_LIBS”为不选中,即可。

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言 下面是opencv构建的常用选项的说明:

以下是OpenCV CMake-GUI中可能显示的一些选项及其含义:

CMAKE_INSTALL_PREFIX:指定安装路径。
WITH_TBB:是否启用Intel Threading Building Blocks(TBB)库。
WITH_CUBLAS:是否启用NVIDIA CUDA BLAS库。
WITH_V4L:是否启用Video for Linux 2(V4L)API。
WITH_QT:是否启用Qt库。
WITH_OPENGL:是否启用OpenGL支持。
WITH_GSTREAMER:是否启用GStreamer库。
WITH_FFMPEG:是否启用FFmpeg库。
WITH_OPENMP:是否启用OpenMP并行计算支持。
WITH_CUDA:是否启用CUDA支持。
WITH_CUDNN:是否启用NVIDIA cuDNN库。
WITH_LIBV4L:是否启用libv4l2库。
WITH_LIBGSTREAMER:是否启用libgstreamer库。
WITH_LIBAV:是否启用libav库。
WITH_LIBJPEG:是否启用libjpeg库。
WITH_LIBPNG:是否启用libpng库。
WITH_LIBWEBP:是否启用libwebp库。
WITH_LIBTIFF:是否启用libtiff库。
WITH_ZLIB:是否启用zlib库。
WITH_JPEG:是否启用JPEG压缩算法。
WITH_PNG:是否启用PNG压缩算法。
WITH_WEBP:是否启用WebP压缩算法。
WITH_TIFF:是否启用TIFF图像格式。
WITH_ZLIB:是否启用ZLIB压缩算法。
BUILD_EXAMPLES:是否构建示例程序。
BUILD_TESTS:是否构建测试程序。
ENABLE_FAST_MATH:是否启用快速数学库。
BUILD_opencv_python2:是否构建Python 2绑定的OpenCV模块。
BUILD_opencv_python3:是否构建Python 3绑定的OpenCV模块。
BUILD_opencv_java:是否构建Java绑定的OpenCV模块。
BUILD_opencv_persistence:是否构建OpenCV持久性模块。
BUILD_opencv_world:是否构建OpenCV世界模块,该模块包含所有可用的OpenCV功能。
BUILD_opencv_dnn:是否构建OpenCV深度神经网络模块。
BUILD_opencv_videoio:是否构建OpenCV视频输入/输出模块。
BUILD_opencv_imgproc:是否构建OpenCV图像处理模块。
BUILD_opencv_highgui:是否构建OpenCV图形用户界面模块。
BUILD_opencv_ml:是否构建OpenCV机器学习模块。
BUILD_opencv_objdetect:是否构建OpenCV目标检测模块。
BUILD_opencv_photo:是否构建OpenCV照片处理模块。
BUILD_opencv_shape:是否构建OpenCV形状分析模块。

这里选中“BUILD_opencv_world”(这样可以类似官方提供的安装包把所有的模块打包到一个lib和dll中),其他的保持默认值,即可:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言 点击“Generate”生成opencv vs 2022的解决方案:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

生成完成,点击“Open Project”打开open cv vs 解决方案:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

通过VS 2022构建open cv动态链接库

通过“生成->批生成..”打开批生成界面,选中“INSTALL” “Debug|x64”和“Release|x64”,点击“生成”进行库构建和安装:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

整个构建过程需要花费几十分钟,请耐心等候:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

构建完成,没有报任何错误,还不错,总共花了21分钟。

进入“D:\opencv\opencv4.8.0\sources\build\install”安装目录:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

include:头文件所在目录。

x64:vs 2022生成lib和bin目录。

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

操作系统环境变量设置

把“D:\opencv\opencv4.8.0\sources\build\install\x64\vc17\bin”, 添加到系统环境变量Path中,否则会提示opencv相关dll无法找到。

如果不想设置环境变量,也可以直接把dll复制到测试代码的运行目录。

通过VS进行验证测试

通过VS 2022创建一个VC++的空项目:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

配置vc++项目属性,添加opencv包含目录和库目录:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

 添加opencv bin路径到系统环境变量“Path”:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

添加main.cpp文件:

#include <iostream>
#include <opencv2/opencv.hpp>

int main() {
    std::cout << "OpenCV version: " << CV_VERSION << std::endl;
    return 0;
}

运行main.cpp:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

通过CMake进行验证测试

新建“D:\DemoSource\CMakeOpenCvDemo”目录,然后

创建文件“CMakeLists.txt”文件:

cmake_minimum_required(VERSION 3.15)
project(opencv_demo LANGUAGES CXX C)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(OpenCV_DIR D:/opencv/opencv4.8.0/sources/build/install)
find_package(OpenCV REQUIRED)
message(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
message(STATUS "OpenCV_LIBS: ${OpenCV_LIBS}")
add_executable(opencv_demo main.cpp)
target_include_directories(opencv_demo PRIVATE ${OpenCV_INCLUDE_DIRS})
target_link_libraries(opencv_demo ${OpenCV_LIBS}) 

创建“main.cpp”文件:

#include <iostream>
#include <opencv2/opencv.hpp>

int main() {
    std::cout << "OpenCV version: " << CV_VERSION << std::endl;
    return 0;
}

创建“build”目录来存放出来的项目

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

通过命令行窗口进入“D:\DemoSource\CMakeOpenCvDemo”,通过“cmake -S . -B build”进行项目构建:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

通过“cmake --build build”生成可执行文件:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言 运行可执行文件“opencv_demo.exe”:

验证opencv是否安装成功,C++,opencv,c++,opencv,开发语言

四、总结

本文通过图文详细介绍如何在windows和linux(Ubuntu)下安装opencv4.8.0, 并通过cmake项目或者vc++项目验证是否安装成功。文章来源地址https://www.toymoban.com/news/detail-775162.html

到了这里,关于[C++] 详细教程 - opencv4.8.0安装和验证测试 (Windows + Linux)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • gocv Windows10下编译和安装(opencv4.7)

    opencv居然还没有官方的golang版,出乎意料。为了编译安装这玩意,折腾了一下午,记录下: 1、 MinGW-w64 这里的坑是对于只懂一点点的人,容易选错版本: 没仔细看的人很可能会选win32的(我就是),因为下意识认为Windows下选择这个版本!! 2、cmake选择系统对应版本就好 3、

    2024年02月10日
    浏览(34)
  • windows10系统下安装opencv4.7.0+VSCode+(C++)环境搭建

    windows10系统下安装opencv4.7.0+VSCode+(C++)环境搭建 1.VScode最新版 2.Opencv:opencv-4.7.0、opencv_contrib-4.7.0(扩展库,可自选是否安装) 3.MinGW-w64:选择GCCWindows版本 4.c-make工具:最新版,应选择二进制版本 注意 : (1)以上安装包目录文件中不应包含空格空格和其他非法字符,否则后面会

    2023年04月10日
    浏览(42)
  • Visual Stdio2022+Opencv4.8.0+Opencv-contrib+Cmake3.27.1

    默认Visual Stdio已经安装完成。之前只安装了opencv,发现有些功能实现不了,还需要依赖opencv-contrib,所以这里对其进行一个记录。 一.安装opencv、opencv-contrib、Cmake opencv安装链接: Releases - OpenCV https://opencv.org/releases/ opencv-contrib安装链接:  Tags · opencv/opencv_contrib · GitHub https:

    2024年02月08日
    浏览(36)
  • 【OpenCV入门教程Java版之一】安装OpenCV:OpenCV4.6.0+IDEA开发环境配置

    在读研期间的研究方向与图像处理有一点相关,后来由于工作可能会有需要,所以晚上回去也闭门研究了OpenCV和图像处理相关的知识。也准备写一个OpenCV系列的专栏作为自己的学习笔记,也分享给大家,如果有写错的地方也欢迎大家及时指出。 好了这篇文章作为OpenCV系列的第

    2024年02月09日
    浏览(34)
  • 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I

            写在最前面,最近这段时间的工作需要用opencv,不仅是调包,还要能够看到opencv的源码。然后就跟着网上的教程实现了一遍,在实现过程中,遇到了不少问题,现一一记录下来。(最近的工作和生活都很难。。。也充满了挑战。但我依然要维持自己创作文章的动机,

    2024年02月11日
    浏览(32)
  • 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part III

    Part III 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_松下J27的博客-CSDN博客 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part II_松下J27的博客-CSDN博客             前面已经知道了如何在opencv.sln的项目中查看源码,现在看

    2024年02月10日
    浏览(36)
  • 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part II

    用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_松下J27的博客-CSDN博客 在上一篇文章中,我用cmake成功的生成了opencv.sln,后面都不会再用cmake了,直接在VS中操作。 1,用VS打开OpenCV.sln,并编译该项目 1.1,打开后,确认当前的运行环境为Debug+x64模式

    2024年02月11日
    浏览(37)
  • [保姆教程] Windows平台OpenCV以及它的Golang实现gocv安装与测试(亲测通过)

    一、下载安装 MinGW CMake 预备步骤 首先打开cmd: 下载安装MinGW64 访问: https://sourceforge.net/projects/mingw-w64/files/ 下载: MinGW-W64 GCC-8.1.0 下面的 x86_64-posix-seh 版本 下载后,将它解压缩到 c:mingw64 里 下载安装 CMake 访问:https://cmake.org/download/ 下载:Windows x64 ZIP 解压到: c:cmake Window

    2024年02月09日
    浏览(56)
  • Mac版本Mysql详细安装教程(8.0版本 保姆级教学~)

    —————————————————————————————————————————————————————————————————————— Mac安装Mysql(8.0)版本 1.首先打开Mysql的官方网站 点击跳转到官网 2.进入页面后点击DOWNLOADS 3.进入Downloads页面后,下滑

    2024年02月03日
    浏览(40)
  • 【Windows上同时安装两个不同版本MYSQL】MySQL安装教程--5.7和8.0版本

    最新版本8.0.34下载链接:https://dev.mysql.com/downloads/mysql/ MySQL 5.7下载链接:https://downloads.mysql.com/archives/community/ 使用解压工具将下载到的压缩包解压:如:解压到D:/software/目录下(自己选择),解压之后建议重命名该解压出来的文件:如mysql-8.0.34-winx64文件夹名,可将后面的wi

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包