网上关于ubantu下安装opencv-2.4.9的教程有很多,不论是利用cmake指令进行安装还是cmake-gui安装也有不少,但是都各自有一些缺陷,我经过一些尝试之后终于在树莓派debian系统下安装成功opencv-2.4.9。
一、更新和安装依赖项
照例进行系统更新,并且安装相应的软件包和依赖项,这里没什么好说的,网上的这一步都是大致一样的,即使有依赖项不一样的地方,都安装上肯定就没错了
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake-qt-gui
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
1.下载opencv-2.4.9 https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download
2.在系统中新建一个opencv文件夹,并且把压缩包放在里面并解压
(如果是在win下载的,可以利用winscp软件传输给树莓派 https://winscp.net/eng/download.php)
3.unzip opencv-2.4.9
4.在解压后的opencv-2.4.9文件夹中新建一个build文件夹,用于make
5.mkdir build
6.cd build
7.cmake-gui ..
8.由此打开了cmake-gui操作图形界面,上面的安装目录和来源都已经自动生成,也可以修改,点击configure
9.第一次configure之后,进入配置
10.在CMAKE_BUILD_TYPE 值处输入RELEASE
11.有三个地方需要去掉打钩 ENABLE_PRECOMPILED_HEADERS
WITH_FFMPEG
WITH_TIFF
12.再一次configure
13.配置就完成了,可以generate
14.关掉cmake-gui,然后make,但是在80%多的时候总是出错,查找问题之后发现
https://blog.csdn.net/m0_38024766/article/details/78715016
在文件夹中找到这个文档build/modules/contrib/CMakeFiles/opencv_contrib.dir/flags.make,
删掉-Werror=address,然后重新make
make成功了
15.sudo make install
完成了以上安装步骤,下面就是配置环境
四、环境变量设置
1.打开文件
sudo gedit /etc/ld.so.conf.d/opencv.conf
2.将下面这个内容输入到文档中
/usr/local/lib
3.接下来配置库
sudo ldconfig
4.更改环境变量
sudo gedit /etc/bash.bashrc
5.在文件后添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
6.重启生效
五、测试
pkg-config --cflags --libs opencv
查看系统里面依赖的配置
pkg-config --modversion opencv
查看opencv版本
1.新建一个test文件夹,在文件夹内 新建一个.cpp 文档
sudo gedit DisplayImage.cpp
保存下面的代码
#include <cv.h>
#include <highgui.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
2.添加一个CMakeLists.txt 文件
sudo gedit CMakeLists.txt
在该文档里面保存下面代码
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
3.生成执行文件 DisplayImage
cmake .
make
4.选择一张图片放入test文件夹中,并且命名为test.jpg
5.输入命令运行
./DisplayImage test.jpg
参考博客
https://blog.csdn.net/jindunwan7388/article/details/80397700
https://blog.csdn.net/m0_38024766/article/details/78715016