OpenCV: Installation in Linux
Ubuntu18.04安装 OpenCV4.3.0 - 知乎
Ubuntu下OpenCV环境配置_ZONGXP的博客-CSDN博客_opencv环境变量配置 ubuntu
安装依赖编译器:
sudo apt update && sudo apt install -y cmake g++ wget unzip
官网需求:
sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev下载
选好自己opencv想放的文件夹,笔者是放在~/Software/opencv之中
cd ~/Software/opencv
下载opencv本体和扩展模块:
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip
解压:
unzip opencv.zip unzip opencv_contrib.zip
可以删除掉原始的压缩包了,随意。
然后创建一个build文件夹并且进入:
mkdir -p build && cd build
配置,建议最好先复制粘贴到记事本之中,根据自己情况配置好,然后再粘贴入终端运行
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_ARCH_BIN='6' -D WITH_CUDA=ON -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules -D BUILD_EXAMPLES=ON ../opencv-master
由于OpenCV 4.X支持使用CUDA对DNN模块进行加速计算,所以这里配置CUDA;在此之前需要自行配置好NVIDIA显卡的驱动与CUDA;
可修改以下语句进行配置,参数为电脑显卡的计算能力.
CUDA_ARCH_BIN='6'
计算能力对应表
CUDA GPUs | NVIDIA Developerhttps://developer.nvidia.com/cuda-gpus
makenproc
查看cpu核心数
然后在build文件夹下运行,建议不要满核心运行,(笔者有16核心,此处用12核)
make -j12
最后
sudo make install
完成安装。
环境配置首先将OpenCV的库添加到路径,从而可以让系统找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加
/usr/local/lib
然后保存退出,执行如下命令使得刚才的配置路径生效
sudo ldconfig
配置bash,执行如下命令
sudo gedit /etc/bash.bashrc
在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
保存退出,然后执行如下命令使得配置生效
source /etc/bash.bashrc实测
笔者使用的ide(clion)测试,所以这里只放出CMakeFile 还有代码,至于怎么手动编译,也很简单,大家可以自行搜索
CMakeList.txtcmake_minimum_required(VERSION 3.20) project(tutorial) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) add_executable(tutorial main.cpp) target_link_libraries(tutorial ${OpenCV_LIBS})main.cpp
注意把filename换成自己电脑里一张图片的绝对路径。
#include#include #include #include int main(int args, char** argv){ std::string filename = "/home/samsu/factory/opencv/tutorial/chessboard_18x18.png"; if (args >= 2){ filename = argv[1]; std::cout << "Image file: " << filename << std::endl; } cv::Mat image = cv::imread(filename, cv::IMREAD_COLOR); if (image.empty()){ std::cout << "please input an image file path." << std::endl; return 0; } std::cout << "Image size is: " << image.size() << std::endl; cv::namedWindow("image", cv::WINDOW_NORMAL); cv::imshow("image", image); cv::waitKey(0); cv::destroyAllWindows(); return 0; }
编译运行代码会显示这张图片,并且在调试窗口显示这张图片的大小。说明环境调配成功。
python 安装方法 (python3.x 建议)pip install opencv-python pip install opencv-contrib-python结束
谢谢
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)