树莓派学习(5)-opencv源码方式安装

源码方式安装opencv2.4.9

环境:树莓派3B
系统:2017-11-29-raspbian-stretch

1.下载若干依赖项

依次安装以下依赖项。网上很多教程都是放到一起执行的,但是一起执行往往会出现错误,也不好查错。
(1)软件源更新,在我之前的文章里有讲,这里提供链接,在此不赘述了
(https://blog.csdn.net/m0_37624499/article/details/89035043)
(2)输入下面的命令

sudo apt-get install cmake
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
sudo apt-get install python-dev python-numpy
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev
sudo apt-get install libopencv-dev

2.下载源文件

用wget https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download 这种方式下载非常慢,而且经常会出现因为网速的问题,而下载不成功的情况!
因此方便下载,提供了一个opencv2.4.9压缩包的下载链接,百度云链接(https://pan.baidu.com/s/1-PrvH7t1RM--yr2o_iqwfA)。

下载好后,将文件传输到树莓派下,这里推荐大家一个传输文件的软件,非常的好用,我网盘上的64位的filezilla的安装包
(https://pan.baidu.com/s/1HPWwIGdglizSMSEcDe-vnA)
提取码:ytmp

具体的用法非常的简单,推荐大家一个链接,一看就会
(https://blog.csdn.net/u012812482/article/details/50839630)

可通过filezilla传输opencv的压缩包,也可以在win下解压好,在通过filezilla传输,小编更推荐后者,可以更好地确保解压成功。

3.编译源代码

(1)方便使用,在树莓派用户目录下,建立名为opencv的文件夹,将下载好的文件放到这个文件夹中

进入opencv源代码目录,在该目录中新建一个名为release的文件夹。

cd ~/opencv/opencv-2.4.9
mkdir release
cd release

(2)使用cmake工具在该文件夹中生成makefile文件,指定opencv的安装目录为/usr/local,opencv的源代码位于上一层目录。cmake修改后的命令如下,不修改的话,之后make会遇到好几个问题。

cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local .. -DENABLE_PRECOMPILED_HEADERS=OFF -DWITH_FFMPEG=OFF

(3)找到~/opencv/opencv-2.4.9/release/modules/contrib/CMakeFiles/opencv_contrib.dir/flags.make文件,用vi打开,删掉-Werror=address!不删掉也会遇到问题。

注:上述的~/opencv/opencv-2.4.9/release/modules/contrib/CMakeFiles/opencv_contrib.dir/flags.make文件是在进行了第(2)步的指令,才会生成的
在这里插入图片描述
(4)编译源代码,命令如下:

make

注:make指令一定是在release文件下进行的,如果进入其他文件,输入make会出错
如下图显示,说明编译成功
在这里插入图片描述

(5)安装源代码,命令如下

sudo make install  
sudo ldconfig    	# 更新搜索动态链接库

在这里插入图片描述

4.查看版本信息

pkg-config --modversion opencv

在这里插入图片描述

5.测试

目标: 通过代码载入一张图片,用opencv检测图片边缘,并把原图和边缘检测的图片输出到屏幕中。

(1)在win下建立记事本,然后重命名改成test.cpp
在这里插入图片描述

(2)然后把下面的源码添加进去,保存
源代码:test.cpp

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main (int argc, char **argv)
{
    Mat image_src, image_gray, image_edge;
    image_src = imread(argv[1], CV_LOAD_IMAGE_COLOR );
    if (argc != 2 || !image_src.data) {
        cout << "No image data\n";
        return -1;
    }

    cvtColor(image_src, image_gray, CV_RGB2GRAY); //将原图转为灰度图
    blur(image_gray, image_edge, Size(3, 3));     //使用3*3内核来降噪
    Canny(image_edge, image_edge, 10, 30, 3);     //运行Canny算子

    imshow("image", image_src);
    imshow("edge", image_edge);

    waitKey(0);
    return 0;
}

(3)在win下建立记事本,重命名为makefile
在这里插入图片描述

(4)把下面的源代码,复制进去保存
makefile

INCLUDE = $(shell pkg-config --cflags opencv)
LIBS = $(shell pkg-config --libs opencv)
SOURCES = test.cpp
# 目标文件
OBJECTS = $(SOURCES:.cpp=.o)
# 可执行文件
TARGET = test
$(TARGET):$(OBJECTS)
    g++ -o $(TARGET) $(OBJECTS) -I $(INCLUDE) $(LIBS)
$(OBJECTS):$(SOURCES)
    g++ -c $(SOURCES)
clean:
    rm $(OBJECTS) $(TARGET)
# 编译规则 $@代表目标文件 $< 代表第一个依赖文件
%.o:%.cpp
    g++ -I $(INCLUDE) -o $@ -c $<

(5)找一张图片,命名为image.jpg

在这里插入图片描述
(6)然后通过filezilla,把上述三个文件,传输到树莓派的桌面上,位置为/home/pi/Desktop
在这里插入图片描述
(7)进入到树莓派Desktop下,运行下面的指令
注:一定要在树莓派界面的终端下,输入./test 命令,否则会出错

make
./test image.jpg

(8)测试结果
在这里插入图片描述

遇到的问题:如果在make的时候出现,下列错误
在这里插入图片描述
用vi 进入makefile里面,将下面4行,用退格键退到行开头,然后点击Tab键即可:
在这里插入图片描述

opencv就安装完成了,安装过程并不复杂,耐心,按步骤来就行,有任何问题欢迎大家留言交流。

参考资料:(https://blog.csdn.net/Meteor_s/article/details/81146712)

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在树莓派安装 OpenCV-Python,请按照以下步骤操作: 1. 更新操作系统:在终端中输入 "sudo apt-get update" 和 "sudo apt-get upgrade"。 2. 安装 OpenCV 依赖项:在终端中输入 "sudo apt-get install build-essential cmake pkg-config"。 3. 安装图像 I/O 库:在终端中输入 "sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev"。 4. 安装视频 I/O 库:在终端中输入 "sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev"。 5. 安装 GTK 库:在终端中输入 "sudo apt-get install libgtk2.0-dev"。 6. 安装 Python 开发库:在终端中输入 "sudo apt-get install python3-dev python3-numpy"。 7. 下载 OpenCV 源码:在终端中输入 "wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.2.zip"(这里的版本号可能不同)。 8. 解压缩下载的文件:在终端中输入 "unzip opencv.zip"。 9. 下载 OpenCV-contrib 模块:在终端中输入 "wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.2.zip"(这里的版本号可能不同)。 10. 解压缩下载的文件:在终端中输入 "unzip opencv_contrib.zip"。 11. 创建并进入 build 目录:在终端中输入 "cd opencv-4.5.2/ && mkdir build && cd build"。 12. 配置 OpenCV:在终端中输入 "cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.2/modules -D ENABLE_NEON=ON -D ENABLE_VFPV3=ON -D BUILD_TESTS=OFF -D OPENCV_ENABLE_NONFREE=ON -D INSTALL_PYTHON_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF .." 13. 编译和安装:在终端中输入 "make -j4" 和 "sudo make install"。 14. 配置环境变量:在终端中输入 "sudo nano /etc/ld.so.conf.d/opencv.conf",然后在文件中添加 "/usr/local/lib",保存并退出。最后, 输入 "sudo ldconfig"。 15. 安装python-opencv:在终端中输入 "pip3 install opencv-python" 或 "pip install opencv-python"。 完成上述步骤后, 您应该能够在您的树莓派上成功安装 OpenCV-Python.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值