Windows11&Ubuntu18.04安装OpenCV4.5.0&VISP3.5.0
??OpenCV是最常用视觉的开源库,VISP全称为Visual Servoing Platform,即视觉伺服平台,包含了许多与视觉伺服相关的内容,本文介绍了在Windows11和Ubuntu18.04平台上如何搭建OpenCV4.5.0和VISP3.5.0环境,并通过运行实例证明了方法的有效性。
一 Windows11安装OpenCV4.5.0&VISP3.5.0
1.1 Windows11安装CMake
- CMake下载
??根据自己需求选择CMake版本,下载地址:CMake - CMake安装
??双击CMake安装可执行程序  ??点击Next  - 勾选I accept the terms in the License Agreement,点击Next
 - 选择Add CMake to the system PATH for all users,点击Next
 - 更改安装位置,点击Next
 - 点击Install
 - 安装中
 - 安装完成,点击Finish”

1.2 Windows11安装MinGW
- MinGW下载
??GNU最开始是Linux下C/C++的开源编译器,MinGW全称为Minimalist GNU on Windows,它将GNU C/C++编译器移植到Windows下,即MinGW是GNU的Windows版本,目前开源平台sourceforge里主要有MinGW和MinGW-w64两种,其中MinGW只能编译生成32位可执行程序,而MinGW-w64可编译生成32位或64位可执行程序,目前MinGW-w64正在取代MinGW,而且MinGW版本也停留在4.8.1版本(2013年)。MinGW-w64下载地址:MinGW-w64 - MinGW安装
??在D盘新建一个文件夹MinGW,解压下载的MinGW-64文件至D盘MinGW文件夹 ??配置系统环境变量,将“D:\MinGW\mingw64\bin”加入系统环境变量 ??打开Windows Terminal,输入gcc -v,检查是否安装成功
1.3 Windows11安装OpenCV4.5.0
- 下载
??必备软件:MinGW,CMake,OpenCV ??根据自己需要下载相对应的OpenCV版本 ??OpenCV4.5.0下载地址:OpenCV4.5.0 ??OpenCV_contrib4.5.0下载地址:OpenCV_contrib4.5.0 - 安装
??在D盘新建OpenCV文件夹,在OpenCV文件夹下新建source和build两个文件夹,将下载的opencv_4.5.0和opencv_contrib_4.5.0压缩包分别解压放在source文件夹下,并在系统中将“隐藏的项目”打开是的隐藏文件可见 ??打开CMake GUI、源文件路径选择D:\C++Library\OpenCV\source\opencv-4.5.0,CMake文件路径选择D:/C++Library/OpenCV/build  ??点击Configure,选择MinGW Makefiles和勾选Specify native compilers,点击Next  ??编译器C选择D:\MinGW\mingw64\bin\x86_64-w64-mingw32-gcc.exe,编译器C++选择D:\MinGW\mingw64\bin\x86_64-w64-mingw32-g++.exe ,点击Finish  ??源文件开始CMake,进度条结束后,CMake信息窗口显示“Configuring done”,在上方红色条目中找到“OPENCV_EXTRA_MODULES_PATH”,选择“D:\C++Library\OpenCV\source\opencv_contrib-4.5.0\modules”,在上方红色条目中找到“Build_opencv_world”,value值勾选,再次点击“Configure”  ??CMake开始,直到进度条结束,CMake信息窗口显示Configuring done,若上面窗口还有红色,再次Configure,直到上面窗口没有红色  ??点击Generate, 直到进度条结束CMake信息窗口生成Generate done,不要关闭CMake GUI  8??此时查看CMake信息窗口还有一些红色报错,这是在CMake过程中下载文件出错造成的,但是报错信息中也告诉了我们可以在build/CMakeDownloadLog.txt中查找  ??打开CMakeDownloadLog.txt,此处有各个下载错误文件的具体信息,包括文件下载地址,文件放置文件夹,文件名等信息  ??从各个文件给予的网站科学上网下载,有些文件直接下载,如opencv_videoio_ffmpeg.dll文件,下载文件后给它放到D:/C++Library/OpenCV/source/opencv-4.5.0/.cache/ffmpeg文件夹下,并改名37e2dadf776631acc8856e281f29cf42-opencv_videoio_ffmpeg.dll,另一些文件无法直接下载,打开为网页,如boostdesc_bgm.i,打开后为网页文件,右键保存为.i文件保存到D:/C++Library/OpenCV/source/opencv-4.5.0/.cache/xfeatures2d/boostdesc文件夹下,并改名0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i,其他文件依次下载  ??将D:\C++Library\OpenCV\source\opencv-4.5.0.cache文件夹下文件替换好后,在CMake GUI中再次点击Configure,直到进度条结束,CMake信息窗口显示Configuring done,此时检查CMake信息就没有红色报错了,点击Generate,直到进度条结束显示Generating done  ??CMake结束后进入D:\C++Library\OpenCV\build文件夹,右键打开Windows Terminal,输入mingw32-make -j8,开始Make  ??若编译过程中会出现windres.exe:preprocessing failed报错  ??在D:\C++Library\OpenCV\build\modules\world文件夹下打开Windows Terminal
D:\MinGW\mingw64\bin\windres.exe D:\C++Library\OpenCV\build\modules\world\vs_version.rc -O coff CMakeFiles\opencv_world.dir\vs_version.rc.obj
按enter,查看D:\C++Library\OpenCV\build\modules\world文件夹下vs_version.rc文件有没有生成,若生成表示成功,第一个为windres.exe文件路径,第二个为vs_version.rc安装路径 ??在原来Windows Terminal下继续编译
mingw32-make -j8
 ??编译完成,安装库文件
mingw32-make install
OpenCV库安装成功  ??配置系统环境变量,将D:\C++Library\OpenCV\build\bin增加到系统环境变量path中
1.4 Windows11安装VISP3.5.0
- 下载
??必备软件:MinGW,CMake - 安装
??在D盘新建VISP文件夹,在VISP文件夹下新建source和build两个文件夹,将下载的visp-3.5.0压缩包解压放在source文件夹下 ?? 打开CMake GUI、源文件路径选择D:\VISP\source\visp-3.5.0,CMake文件路径选择D:/VISP/build  ??点击Configure,选择MinGW Makefiles和勾选Specify native compilers,点击Next  ??编译器C选择D:\MinGW\mingw64\bin\x86_64-w64-mingw32-gcc.exe,编译器C++选择D:\MinGW\mingw64\bin\x86_64-w64-mingw32-g++.exe ,点击Finish  ??源文件开始CMake,进度条结束后,CMake信息窗口显示Configuring done  ??在CMake GUI上方红色条目中找到USE_EIGEN3,取消勾选,再次点击Configure,CMake开始,直到进度条结束,CMake信息窗口显示Configuring done,若上面窗口还有红色,再次Configure,直到上面窗口没有红色  ??点击Generate,进度条结束,CMake信息窗口显示Generating done  ??进入D:\VISP\build文件夹,右键打开Windows Terminal,进行编译
mingw32-make -j8
 ??编译完成再进行安装
mingw32-make install
 ??安装完成
二 Ubuntu18.04安装OpenCV4.5.0&VISP3.5.0
2.1 Ubuntu18.04安装OpenCV4.5.0
- 下载OpenCV4.5.0
官网下载sources版,地址:OpenCV Github下载,地址:OpenCV
git clone https://github.com/opencv/opencv.git
- 编译安装OpenCV4.5.0,安装依赖项
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install -y libopencv-dev
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install ffmpeg
- 将下载的OpenCV4.5.0安装包解压并改名为opencv
cd opencv
mkdir build
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GTK=ON -D OPENCV_GENERATE_PKGCONFIG=YES ..
sudo make -j16
sudo make install
- 环境配置,将OpenCV的库添加到系统路径,配置ld.so.conf文件
sudo gedit /etc/ld.so.conf
- 在打开的文件中加上一行
include /usr/local/lib
- 配置好后,执行如下命令使得配置的路径生效
sudo ldconfig
- 配置系统bash
??因为在cmake时,选择了自动生成OpenCV的pkgconfig文件,在/usr/local/lib/pkgconfig路径可以看到文件,确保文件存在,执行如下命令
sudo gedit /etc/bash.bashrc
在文末添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
- 保存退出,然后执行如下命令使配置生效
source /etc/bash.bashrc
- 安装以及配置完成,查看是否安装和配置成功
pkg-config --modversion opencv4
2.2 Ubuntu18.04 vscode配置OpenCV4.5.0
- 新建一个名为test的空文件夹,用vscode打开,用vscode新建一个main.cpp文件,在test文件夹里放置一张图片并改名为test.jpg
#include <iostream>
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat src;
src = cv::imread("test.jpg");
cv::imshow("test", src);
cv::waitKey(0);
return 0;
}
- 配置c_cpp_properties.json文件,点击vscode右下角处的Linux,选择编辑配置(JSON)打开c_cpp_properties.json,添加opencv头文件地址
# 在"includePath"里添加opencv头文件地址
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/local/include",
"/usr/local/include/opencv4",
"/usr/local/include/opencv4/opencv2"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu11",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
- 配置tsks.json文件,在main.cpp界面点击菜单栏终端->配置默认生成任务…->选择C/C++:g++生成活动文件,添加opencv库文件
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ 生成活动文件",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-I", "/usr/local/include",
"-I", "/usr/local/include/opencv4",
"-I", "/usr/local/include/opencv4/opencv2",
"/usr/local/lib/libopencv_*",
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: /usr/bin/g++"
}
]
}
- 生成main可执行文件,在main.cpp界面按下ctrl+shift+b,生成main可执行文件,./main运行main可执行文件,显示图片
2.3 Ubuntu18.04安装VISP3.5.0
- 环境搭建
sudo apt-get install build-essential git subversion wget
- 创建工作区
echo "export VISP_WS=$HOME/VISP" >> ~/.bashrc
source ~/.bashrc
mkdir -p $VISP_WS
- 下载源码
cd $VISP_WS
git clone https://github.com/lagadic/visp.git
- 编译VISP3.5.0
cd visp-3.5.0
mkdir build
cd build
cmake ../
sudo make -j16
sudo make install
- 设置环境变量
echo "export VISP_DIR=$VISP_WS/visp-3.5.0/build" >> ~/.bashrc
source ~/.bashrc
sudo gedit /etc/ld.so.conf
sudo ldconfig
2.4 Ubuntu18.04 vscode配置VISP3.5.0
- 新建一个名为test的空文件夹,用vscode打开,用vscode在test文件夹下新建一个main.cpp文件,在test文件夹里放置一张图片并改名为test.jpg
#include <iostream>
#include <opencv2/opencv.hpp>
#include <visp3/detection/vpDetectorAprilTag.h>
#include <visp3/gui/vpDisplayGDI.h>
#include <visp3/gui/vpDisplayOpenCV.h>
#include <visp3/gui/vpDisplayX.h>
#include <visp3/io/vpImageIo.h>
#include <visp3/core/vpXmlParserCamera.h>
#include <visp3/core/vpConvert.h>
int main()
{
vpImage<unsigned char> image;
vpImageIo::read(image, "test.jpg");
cv::Mat src;
vpImageConvert::convert(image, src);
cv::imshow("test", src);
cv::waitKey(0);
return 0;
}
- 配置tsks.json文件,在main.cpp界面点击菜单栏终端->配置默认生成任务…->选择C/C++:g++生成活动文件,添加visp库文件
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ 生成活动文件",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-I", "/usr/local/include",
"-I", "/usr/local/include/opencv4",
"-I", "/usr/local/include/opencv4/opencv2",
"/usr/local/lib/libopencv_*",
"-I","/usr/local/include",
"-I","/usr/local/include/visp3",
"/usr/local/lib/libvisp_*",
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: /usr/bin/g++"
}
]
}
- 生成main可执行文件,在main.cpp界面按下ctrl+shift+b,生成main可执行文件,./main运行main可执行文件,显示图片

三、参考资料
1 Windows11安装OpenCV 2 Windows11安装OpenCV 3 Windows11安装OpenCV 4 Ubuntu安装OpenCV 5 Ubuntu安装OpenCV 6 Ubuntu安装OpenCV 7 Ubuntu安装OpenCV 8 Ubuntu安装OpenCV 9 Windows安装MinGW 10 Windows安装MinGW 11 Windows安装MinGW 12 Window装MinGW 13 配置库文件
2022年4月24日晚于上海
|