Bootstrap

在香橙派或者树莓派上使用源码安装opencv4(小白可进)

摸索了很久终于成功在香橙派上安装好了opencv4

记录一下过程吧

首先一般香橙派和树莓派默认python是2.7,先把默认版本修改成python3

输入指令

whereis python

可以看到有很多可用的python版本

我这里使用update-alternatives系统进行设置

1.先添加python3到update-alternatives系统:

#python3.x指的是自己系统可以用的python版本,我的这里是python3.8
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.x 2

2.如果不行,使用update-alternatives来配置默认Python版本

sudo update-alternatives --config python

3.验证更改结果

python --version

如果出现以下报错

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8.10
update-alternatives: --install needs <link> <name> <path> <priority>

Use 'update-alternatives --help' for program usage information.

这是因为错误消息指出了 update-alternatives --install 命令的使用方法不正确。在使用此命令时,需要指定链接(link)、名称(name)、路径(path)和优先级(priority)。在我的的情况下,如果想将 python 命令链接到 Python 3.8.10,应该按照以下格式使用命令:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8.10

这里的 /usr/bin/python 是将要创建或修改的符号链接(link),python 是此链接的名称(name),/usr/bin/python3.8 是指向的实际 Python 3.8.10 可执行文件的路径(path),最后的 10 是此安装选项的优先级(priority)。优先级是一个数字,当有多个版本可供选择时,具有最高优先级的版本将成为默认版本。

4.更新系统,首先保证香橙派操作系统是最新的,可以使用一下命令进行更新

sudo apt-get update
sudo apt-get upgrade

如果出现这个报错 

E: Failed to fetch http://211.69.138.66/cache/1/02/packages.microsoft.com/65f2f06e6502da9970cccffbef47b6f0/Packages.gz  
E: Failed to fetch http://211.69.138.66/cache/4/02/packages.microsoft.com/e277a777bf09f103f662f4c498a0359b/Packages.gz  
E: Some index files failed to download. They have been ignored, or old ones used instead.

使用这个清理apt缓存然后再次更新

sudo apt-get clean
sudo apt-get update
sudo apt-get upgrade

下载opencv依赖库,使用一下命令安装

sudo apt-get install build-essential cmake git pkg-config libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python2.7-dev python3-dev

如果无法下载E: Unable to locate package libjasper-dev这个库,可以查看这个博主连接

解决 “E: Unable to locate package libjasper-dev” (亲测有效)_e: 无法定位软件包 libjasper-dev-CSDN博客

5.下载opencvcv源码

首先进入官网Releases - OpenCV

下载opencv-4.8.0版本,点击source下载,这样下载的会是一个opencv-4.8.0.zip文件

6.下载完成后,进入香橙派下载文件夹。

cd Downloads/

解压

unzip opencv-4.8.0.zip

进入解压后的文件

cd opencv-4.8.0

创建构建目录build

mkdir build

进入目录

cd build

使用cmake配置后续的构建环境

cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D OPENCV_GENERATE_PKGCONFIG=ON ..
'''
第一行是构建的版本:这里是发行版RELEASE
第二行是安装的目录
第三行是显式地通过添加 -D OPENCV_GENERATE_PKGCONFIG=ON 到 CMake 命令来确保OPENCV能够被pkg-config工具找到
'''

 然后使用make -j4或者make -j6来进行编译,这个编译时间比较长,j后面的数字可以修改成4,6,8,视你的机器的处理核心数来定,越高的话越快,我是make -j8

make -j8

这样子就可以了,接下来使用命令安装Opencv,这样会安装Opencv以及生成的pkg-config文件

sudo make install

最后更新动态链接器的缓存

sudo ldconfig

这样就完成了
7.验证是否安装成功,使用pkg-config来检查是否能够找到OpenCV

pkg-config --modversion opencv4

如果你没有在cmake配置后续的构建环境中使用-D OPENCV_GENERATE_PKGCONFIG=ON,这里就会报错找不到Opencv,你重新从cmake配置加上这个参数那里再来一次即可。

;