*免责声明:
1\此方法仅提供参考
2\搬了其他博主的操作方法,以贴上路径.
3*
场景一:安装NVIDIA驱动
场景二:安装CUDA
场景三:安装CUDNN
场景四:安装tensorflow
场景五:ubuntu18下Anaconda安裝opencv(待解决)
场景六:ubuntu18下源码编译的安裝方式安装opencv
场景七:安装opencv-python
.
.
.
.
…
场景一:安装NVIDIA驱动
方式一:(不推荐)
查看gpu与推荐的NVIDIA驱动版本
命令: ubuntu-drivers devices
上图1为我的gpu信息,2为推荐的,从上图可以看出,我的显卡是:GM204M [GeForce GTX 970M],推荐安装的版本号是:nvidia-driver-460 - distro non-free recommended。
如果同意安装推荐版本,那我们只需要终端输入:
命令: sudo ubuntu-drivers autoinstall
当然我们也可以使用 apt 命令安装自己想要安装的版本,比如我想安装 340 这个版本号的版本,输终端入:sudo apt install nvidia-340 就自动安装了。
命令:sudo apt install nvidia-340
安装过程中按照提示操作,除非你知道每个提示的真实含义,否则所有的提示都选择默认就可以了,安装完成后重启系统,NVIDIA显卡就可以正常工作了。 安装完成后
命令: nvidia-smi
或者电脑重启搜索 nvidia
查看系统中安装了哪些NVIDIA的驱动
命令: sudo dpkg --list | grep nvidia-*
2、卸载NVIDIA驱动
sudo apt-get --purge remove nvidia-*
.
方式二:推荐
- 下载相应驱动
ubuntu-drivers devices 这个命令可以查看电脑gpu信息。
在官网选择适应你 GPU 的驱动版本,在下载界面可用右键得到下载链接,然后在 linux 命令行下使用 wget 进行下载,如我下载的是的驱动版本:
- 关闭 X 服务 为了能够安装新的 nvidia 驱动,我们需要关闭这个 X 服务,我的 Ubuntu 是基于 gdm类型的桌面系统,采用如下命令:
命令: sudo service gdm stop
对于其他的 linux 版本,如果桌面系统是基于 lightdm 类型,应该把命令中的gdm改为lightdm即可;非这两种桌面系统类型的,百度一下你的 linux 版本关闭 X 服务的相关命令吧。
3、卸载NVIDIA驱动 命令选用
命令: sudo apt-get --purge remove "*nvidia*"
命令: sudo apt-get autoremove --purge nvidia-*
命令: sudo /usr/bin/nvidia-uninstall
4、禁用自带的 nouveau nvidia驱动 首先利用命令行打开
命令: sudo gedit /etc/modprobe.d/blacklist.conf
在文件末端加入
blacklist nouveau
options nouveau modeset=0
然后更新
sudo update-initramfs -u
最后重启
终端下输入命令 lsmod | grep nouveau 查看是否被禁用
- 安装新驱动 在第 1 步下载的驱动文件目录里运行安装包即可:
待修改命令: sudo sh NVIDIA-Linux-x86_64-460.32.03.run
命令: modprobe nvidia
6.检查驱动是否安装成功
命令: nvidia-smi
7.命令sudo reboot 重启
.
场景二:安装CUDA
方式一:不推荐
这种方式我的理解是,版本不能确定,第二安装的位置找不到。 经过上述的系统安装驱动,我们直接输入命令: nvcc -V
系统直接推荐命令:sudo apt install nvidia-cuda-toolkit
完成以后,再输入命令: nvcc -V 好家伙,直接安装好了,不过版本不一定是自己想要的。
方式二:推荐
1、下载cuda
执行待修改命令,这个命令应该是你自己选择以后生成的官方推荐:
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
上面下载可能非常非常的慢,下载完成以后。
2、安装cuda
到自己的目录下
待修改命令: sudo sh cuda_11.1.0_455.23.05_linux.run*
选accept
去掉驱动
出现下面的警告,问题不大
3、设置环境变量
修改bashrc这个文件,在终端输入
命令: sudo gedit ~/.bashrc
然后会弹出来一个文档,在这个文档的末尾添加下面三句话,修改这个文档应该需要root权限,不然改了等于没改。也需要修改成为自己对应的路径。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64
export PATH=$PATH:/usr/local/cuda-11.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.1
用su直接切换到root,再执行 source ~/.bashrc
4、验证
命令: nvcc -V
显示上面信息就是自己装好了cuda
5、删除cuda,有需要的话
删除文件夹的形式: sudo rm -rf /usr/local/cuda-11.1
应用cuda携带的程序卸载: sudo /usr/local/cuda/bin/cuda-uninstaller
场景三:安装CUDNN
1、下载CUDNN
根据自己的需要下载,我前面安装的cuda是11.1,所以我下载了这个
不知道上面4个到底有啥区别,我直接下载了1,下载需要注册登录,可能速度慢。
2、解压
下载好的文件为 cudnn-11.1-linux-x64-v8.0.4.30.solitairetheme8我们只需要解压,然后拷贝到cuda的安装目录下即可!
待修改解压命令:
tar zxvf cudnn-11.1-linux-x64-v8.0.4.30.solitairetheme8
3、把解压文件中的文件复制到cuda的安装目录下,路径改为自己的。
sudo cp /home/guoyao/ruanjian/cudnn/cudnn-11.1-linux-x64-v8.0.4.30/cuda/lib64/* /usr/local/cuda-11.1/lib64/
sudo cp /home/guoyao/ruanjian/cudnn/cudnn-11.1-linux-x64-v8.0.4.30/cuda/include/* /usr/local/cuda-11.1/include/
4.增加权限
sudo chmod a+r /usr/local/cuda-11.1/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.1/lib64/libcudnn*
5.配置环境,链接
sudo gedit ~/.bashrc
尾部加入
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH
保存,执行生效
source ~/.bashrc
6、拷贝完成之后,可以使用以下命令查看CUDNN的版本信息
sudo cat /usr/local/cuda-11.1/include/cudnn_version.h |grep CUDNN_MAJOR -A 2
上述6可能会出现显示不出来的问题,原因就是文件夹的路径或者文件找错了,不过别担心,只要你把下载出来的相应的文件拷贝到cuda中就可以了。
.
场景四:安装tensorflow
1、注意点
要启用Python tensorflow模块运行,请执行以下操作:
注意你可能装过anaconda,
anconda带的是python3.7,ubuntu自己带的是2.7和3.6.
当你输入python的时候,可能将anaconda带的python3.7为设置系统默认,然而当系统在用这种方式去安装tensflow的时候,只会考虑ubuntu带的2个python版本及2.7或者3.6。
.
当你去执行导入模板的时候,会报错,所以这里应该将系统的python设置为ubuntu的自带的python3.6。无需要就跳过
home路径下终端输入:
echo alias python=python3 >> ~/.bashrc
如果是python3.7和python3.6共存,但是想默认是3.6而不是3.7,需要执行
echo alias python3=python3.6 >> ~/.bashrc
然后source一下:
source ~/.bashrc
2、查看pip属于哪个python版本
pip -V
pip3 -V
3、查看tensorflow对应的cuda和cudnn的版本要求,要不然下载了,版本不对,也会出现问题。
查看地址
4、pip安装
sudo apt install python3-pip
pip3 install tensorflow_gpu
5、测试
在终端输入python出现转换到python的命令界面,依次输入
import tensorflow as tf
sess = tf.Session()
a = tf.constant(1)
b = tf.constant(2)
print(sess.run(a+b))
场景五:ubuntu18下Anaconda安裝opencv(待解决)
在Ubuntu的Anaconda环境下安装OpenCV比较方便,直接在终端中输入以下命令:
conda install --channel https://conda.anaconda.org/menpo opencv3
第二种方法:conda install -c https://conda.binstar.org/menpo opencv3
这个方式安装的是OpenCV2.4.11版本,如果要安装OpenCV 3版本,把上述命令中的 opencv换成opencv3就行了,安装的是3.2.0版本。 输入命令之后会有提示将要安装的OpenCV版本,输入 y 同意后开始下载安装:
安装很方便,有一个问题就是一般下载的速度比较慢,容易中断,可以多试几次 OpenCV 3.版本安装成功界面:
当然也可能出现如下报错
原因分析
Ubuntu18.04系统自带了两个版本的Python解释器Python2.7和python3.6,由于python3.6使用更多,后来又使用anaconda3安装深度学习环境,内含python3.7,因此为了方便管理,更改python默认版本,关于更改python默认版本见如何更改默认python解释器,将python命令默认指向为python3.6解释器,python3默认为python3.7解释器.python2默认指向python2.7.事情进展很顺利,后来在使用conda命令时出现
后来分析可能是由于conda自带的默认python解释器是python3.7,此时我已经把python指定为3.6,所以造成conda的python解释器冲突造成上面的问题.
场景六:ubuntu18下源码编译的安裝方式安装opencv
一:前期工作
1.配置python3.6的基础库,这一步至关重要,如果不配置,可能影响后面的相关配置,例如opencv会找不到python.h文件
sudo apt-get install libpython3.6-dev
sudo apt install python3-pip
2.安裝其他依赖
sudo apt install gcc
sudo apt install net-tools
sudo apt install git
3.安装opencv相关的依赖和其他的依赖
(1)、libopencv-dev依赖包
sudo apt install libopencv-dev
(2)、相关的基础库
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
#处理图像所需的包
sudo apt-get install libtbb2
sudo apt-get install libtbb-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libpng-dev
sudo apt-get install libtiff-dev
sudo apt-get install libjasper-dev
sudo apt-get install libdc1394-22-dev
sudo apt-get install libcanberra-gtk-module
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
sudo apt-get install libv4l-dev
sudo apt-get install liblapacke-dev
#处理视频所需的包
sudo apt-get install libxvidcore-dev
sudo apt-get install libx264-dev
#优化opencv功能
sudo apt-get install ffmpeg
4、可能出现的问题
Ubuntu18.04下安装OpenCv依赖包libjasper-dev无法安装的问题
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
二:下载opencv源码
1.下载
sudo git clone https://github.com/opencv/opencv.git
sudo git clone https://github.com/opencv/opencv_contrib.git
cd opencv
sudo git checkout master # 选择master版本分支
cd ..
cd opencv_contrib
sudo git checkout master # 选择master版本分支
cd ..
2.升级cmake
weeks@computer:~$ sudo apt-get install -y gcc gcc-c++
weeks@computer:~$ sudo mkdir /opt/cmake
weeks@computer:~$ cd /opt/cmake/
weeks@computer:/opt/cmake$ sudo wget https://cmake.org/files/v3.14/cmake-3.14.5.tar.gz
weeks@computer:/opt/cmake$ sudo tar zxvf cmake-3.14.5.tar.gz
weeks@computer:/opt/cmake$ sudo apt-get remove cmake -y
weeks@computer:/opt/cmake$ cd ./cmake-3.14.5
weeks@computer:/opt/cmake/cmake-3.14.5$ sudo ./configure
weeks@computer:/opt/cmake/cmake-3.14.5$ sudo make && sudo make install
修改环境变量
编辑 sudo vi /etc/profile.d/cmake.sh 文件写入以下内容:
export CMAKE_HOME=/opt/cmake/cmake-3.14.5 (这里是我的安装路径)
export PATH=$PATH:$CMAKE_HOME/bin
保存并退出,执行命令让cmake环境文件生效
source /etc/profile
cmake -version
三.编译源码
Ps 说明:如果下面编译有报错,可以删除非空文件夹及其目录下的所有文件夹及文件:下面如果编译有错误就去删除build文件夹 sudo rm -r build 然后重新来过.
1.拷贝
通过命令把opencv_contrib文件移动到opencv文件夹里面:
sudo cp -r opencv_contrib opencv
cd opencv
sudo mkdir build
cd build
2.创建配置文件
这里的语句选择蛮重要的
.
语句说明
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_EXAMPLES=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
#输入:nproc,查看cpu内核数
weeks@computer:/opencv/build$ nproc
#有几个CPU就用几个CPU,这下面的8就是上面nproc返回的结果,如果下面有错误可以用make clean命令,不过更推荐上面开头讲的方式.
weeks@computer:/opencv/build$ sudo make -j8
weeks@computer:/opencv/build$ sudo make install
3.可能出错提示
在进行cmake的时候的出错
错误一:
然而在下载过程中可能会出现下载不完全的情况(起码我是这样的),往往出现的问题是缺少boostdesc_bgm.i等问题。所以我们需要提前下载好这些文件,以防不时之需。
下载地址在进行make的时候,大概到78%左右就会出现错误,提示你缺少.i文件。这个时候打开之前下载好的.i文件夹,删掉build文件夹,通过命令移植到缺失目录下,然后重新编译。
sudo cp * ../opencv/opencv_contrib/modules/xfeatures2d/src/
错误二: 移动文件,我的opencv在/目录下,防止报.h错误
sudo cp -r /opencv/modules/features2d /opencv/opencv_contrib/modules/xfeatures2d/test
错误三,在make的时候
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report
问题原因是因为内存不足 使用交换分区来解决:
方式一:不推荐
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
(#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=1024MB)
sudo mkswap /swapfile (#把刚才空间格式化成swap格式)
sudo swapon /swapfile (#使用刚才创建的swap空间)
之后继续执行你的相关操作就可以了
*如果创建了临时空间之后仍提示“g++: internal compiler error: Killed (program cc1plus)”,可能是因为分配的空间不够大,可以继续分配更大的空间 After compiling, you may wish to shut the swap space down: .
sudo swapoff /swapfile
sudo rm /swapfile
方式二:编译速度就慢多了
weeks@computer:/opencv/build$ sudo make
.
四.配置环境变量
1、命令:sudo gedit /etc/ld.so.conf
打开后可能是空文件,在文件内容最后添加以下内容,其中/user/loacal是opencv安装路径也就是makefile中指定的安装路
include /usr/local/lib
2、使上述配置生效
sudo ldconfig
3、配置bash
sudo gedit /etc/bash.bashrc
//在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
4、更新bash文件
source /etc/bash.bashrc
sudo updatedb
五.测试
1、opencv_version 查看版本号
2、pkg-config opencv --modversion
3、要启用Python cv2模块运行,请执行以下操作:
注意你可能装过anaconda,anconda带的是python3.7,ubuntu自己带的是2.7和3.6.
当你输入python的时候,可能将anaconda带的python3.7为设置系统默认,然而当系统在用这种方式去编译opencv时候,只会考虑ubuntu带的2个python版本及2.7或者3.6。当你去执行导入模板的时候,会报错,所以这里应该将系统的python设置为ubuntu的自带的python3.6。
home路径下终端输入:
命令:echo alias python=python3 >> ~/.bashrc
如果是python3.7和python3.6共存,但是想默认是3.6而不是3.7,需要执行
命令:echo alias python3=python3.6 >> ~/.bashrc
然后source一下:
命令:source ~/.bashrc
将cv2导入到python3.6中
sudo ln -s /usr/local/lib/python3.6/dist-packages/cv2 /usr/lib/python3.6/site-packages/
导入模块并打印OpenCV版本:
python -c "\
import cv2
print(cv2.__version__)"
python -c "\
import cv2 as cv
src=cv.imread("/1")
cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE)
cv.imshow('input_image', src)
cv.waitKey(0)
cv.destroyAllWindows()"
上面的第三句为图片的路径,一定要写对,这个在/下,注意图片名称。
4、使用opencv简单使用摄像头
查看摄像头调用是否正常
命令: cheese
如果没有安装,进行命令安装。安装的命令:sudo apt-get install cheese
在opencv下创建一个mytest文件夹,然后创建一个main.cpp文件
命令:sudo touch main.cpp
命令:sudo gedit /main.cpp
里面加入以下代码
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
//从摄像头读取视频
VideoCapture Capture(0);
//循环显示每一帧
while (1)
{ Mat frame;//定义一个Mat变量,用于存储每一的图像
Capture>>frame;//读取当前帧
imshow("读取视频帧", frame);//显示当前顿
waitKey(30);//延时30m
}
system("pause");
return 0;
}
保存并编译,然后运行命令:
sudo g++ main.cpp `pkg-config opencv --libs --cflags opencv` -o main
运行命令: sudo ./main
改进:代码可以实现录制视频,按空格开始录制,再按空格结束录制,ESC停止录制并保存。
在opencv文件夹下创建了mytest文件夹,在mytest文件夹下创建main.cpp。 其中内容为:
命令:sudo touch main2.cpp
命令:sudo gedit /main2.cpp
里面内容为:
#include<iostream>
#include <opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
//打开电脑摄像头
VideoCapture cap(0);
if (!cap.isOpened())
{
cout << "error" << endl;
waitKey(0);
return 0;
}
//获得cap的分辨率
int w = static_cast<int>(cap.get(CV_CAP_PROP_FRAME_WIDTH));
int h = static_cast<int>(cap.get(CV_CAP_PROP_FRAME_HEIGHT));
Size videoSize(w, h);
VideoWriter writer("RecordVideo.avi", CV_FOURCC('M', 'J', 'P', 'G'), 25, videoSize);
Mat frame;
int key;//记录键盘按键
char startOrStop = 1;//0 开始录制视频; 1 结束录制视频
char flag = 0;//正在录制标志 0-不在录制; 1-正在录制
while (1)
{
cap >> frame;
key = waitKey(100);
if (key == 32)//按下空格开始录制、暂停录制 可以来回切换
{
startOrStop = 1 - startOrStop;
if (startOrStop == 0)
{
flag = 1;
}
}
if (key == 27)//按下ESC退出整个程序,保存视频文件到磁盘
{
break;
}
if (startOrStop == 0 && flag==1)
{
writer << frame;
cout << "recording" << endl;
}
else if (startOrStop == 1)
{
flag = 0;
cout << "end recording" << endl;
}
imshow("picture", frame);
}
cap.release();
writer.release();
destroyAllWindows();
}
保存并编译,然后运行命令:
sudo g++ main2.cpp `pkg-config opencv --libs --cflags opencv` -o main2
运行命令: sudo ./main2
5、终端快捷编译方式
在mytest下创建test1.cpp
命令:sudo touch test1.cpp
命令:sudo gedit /test1.cpp
内容为:其中我的图片的路径为/下
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
CvPoint center;
scale = -3;
IplImage * image = cvLoadImage("/1"); // 切记图片命名要与程序中的命名相同包括大小写
argc == 2? cvLoadImage(argv[1]): 0;
cvShowImage("Image", image);
if (!image) return -1; center = cvPoint(image->width / 2, image->height / 2);
for (int i = 0;i < image->height;i++)
for (int j = 0;j < image->width;j++) {
double dx = (double)(j - center.x) / center.x;
double dy = (double)(i - center.y) / center.y;
double weight = exp((dx * dx + dy * dy) * scale);
uchar * ptr = & CV_IMAGE_ELEM(image, uchar, i, j * 3);
ptr[0] = cvRound(ptr[0] * weight);
ptr[1] = cvRound(ptr[1] * weight);
ptr[2] = cvRound(ptr[2] * weight);
}
Mat src; Mat dst;
src = cvarrToMat(image);
cv::imwrite("test.png", src);
cvNamedWindow("test", 1);
imshow("test", src);
cvWaitKey();
return 0;
}
保存并编译,然后运行命令:
sudo g++ test1.cpp `pkg-config opencv --libs --cflags opencv` -o test1
运行命令: sudo ./test1
6、make(makefiles)编译方式
cd到opencv/smaples/cpp/example_cmake目录下我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下按顺序执行,执行过程如下:
命令: cd opencv/samples/cpp/example_cmake
命令: sudo cmake .
命令: sudo make
命令: sudo ./opencv_example*
7、测试可能出现的问题
进入opencv/samples/cpp/example_cmake目录下:
cd ./opencv/samples/cpp/example_cmake
修改example.cpp如下
#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
#include <iostream>
using namespace cv;
using namespace std;
void drawText(Mat & image);
int main()
{
Mat image=imread("./darknet/data/dog.jpg");
imshow("Sample",image);
waitKey(0);
return 0;
}
尝试make一下,发现报错如下
意思是说找不到opencv2/core.hpp这个头文件。而我们到/usr/local/include/opencv4/opencv2下,发现明明有这个头文件啊?问题就出在例程的Makefile里,打开Makefile看一看
问题找到了,第3、4行中显然是在pkgconfig中调用opencv,而我们的opencv4是在/usr/local/lib/pkgconfig/目录下自动生成的opencv4.pc,那么只需要把这两行的opencv改为opencv4就ok了。修改后保存,然后再make一下,这次不报找不到头文件的错了,但是出来了一堆其他的错误。拿出错误的前几行看一下。
可以发现,其意思是说opencv4需要c++11支持,而我们的makefile中并没有使用c++11去编译,所以解决办法就是在Makefiile中指定用c++11标准编译。再次打开Makefile,在第3行下加入CXXFLAGS += -std=c++11,最终的makefile如下所示
CXX ?= g++
CXXFLAGS += -c -Wall $(shell pkg-config --cflags opencv4)
CXXFLAGS += -std=c++11
LDFLAGS += $(shell pkg-config --libs --static opencv4)
all: opencv_example
opencv_example: example.o; $(CXX) $< -o $@ $(LDFLAGS)
%.o: %.cpp; $(CXX) $< -o $@ $(CXXFLAGS)
clean: ; rm -f example.o opencv_example
保存后再次make,终于成功生成了可执行文件opencv_example,运行一下如下图,
运行命令 : ./opencv_example
error: (-2:Unspecified error) Can’t initialize GTK backend in function
‘cvInitSystem’ 这个错误是example.cpp中图片路径出错了。
可能出现的错误四:
输入 pkg-config --cflags opencv
解决方式一:
这是因为缺失了opencv.pc这个配置信息文件,故解决方法就是添加这个文件然后将其导入到环境变量中,具体操作如下:
首先创建opencv.pc文件,这里要注意它的路径信息:
cd /usr/local/lib
sudo mkdir pkgconfig
cd pkgconfig
sudo touch opencv4.pc
然后在opencv4.pc中添加以下信息,注意这些信息需要与自己安装opencv时的库路径对应:
prefix=pkg-config --cflags opencv
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
Name: opencv
Description: The opencv library
Version:4.5.1 (注意这里的版本号)
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core
保存退出,然后将文件导入到环境变量:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
至此就配置好opencv.pc啦~
再执行 pkg-config --cflags --libs opencv时输出结果如下:
场景七:安装opencv-python
1.使用如下命令
pip3 install opencv-python
2.安装opencv-contrib-python
opencv-pyhon中只是包含了opencv的主要模块,很多比较新的高级的算法、某些不免费的算法如sift、surf特征点算法没有包含进去,如果你想使用这些功能,需要卸载opencv-python,然后安装opencv-contrib-python。
pip3 install opencv-contrib-python
将自动安装最新版本。
you did it