关闭页面特效

安装 OpenCV C++

1|0环境


  • Ubuntu18.04
  • OpenCV4

2|0准备


2|1需要下列的依赖,[optional]为可选。


[compiler] sudo apt-get install build-essential [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev [optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

2|2下载OpenCV


3|0使用CMake构建


3|1创建build文件夹


cd ~/opencv mkdir build cd build

3|2配置Cmake ,选择需要编译的选项


cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_GENERATE_PKGCONFIG=ON ..

注意: -DOPENCV_GENERATE_PKGCONFIG=ON 会生成.pc文件, 想在VSCode中使用的话一定要加。

3|3执行make


make -j7 # 使用7个线程

3|4安装库文件


sudo make install

4|0使用


4|1VSCode 使用


要想在VSCode中使用OpenCV, 要将生成的.pc文件添加到环境变量。
看下是否有这个文件

接下来设置环境变量

vim /etc/bash.bashrc

添加下面两行

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

5|0Cmake 和 g++使用 OpenCV


5|1创建一个测试文件,DisplayImage.cpp


#include <stdio.h> #include <opencv2/opencv.hpp> using namespace cv; int main(int argc, char** argv ) { if ( argc != 2 ) { printf("usage: DisplayImage.out <Image_Path>\n"); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; }

5|2g++直接编译


g++ `pkg-config opencv --cflags` DisplayImage.cpp -o DisplayImage `pkg-config opencv --libs`

运行一下

./DisplayImage /home/hichens/Datasets/pic/bigbang.jpg # 图片路径

5|3CMake 编译


创建 CMakelists.txt文件

vim CMakelists.txt

build

mkdir build cd build cmake .. make

运行一下

./DisplayImage /home/hichens/Datasets/pic/bigbang.jpg # 图片路径

6|0参考



__EOF__

作  者Hichens
出  处https://www.cnblogs.com/hichens/p/12665897.html
关于博主:莫得感情的浅度学习机器人
版权声明:@Hichens
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!

posted @   hichens  阅读(6481)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示