Firefly开源社区

12
发表新贴

关于在RK3288上安装Opencv的方法

242

积分

3

威望

0

贡献

技术达人

Rank: 2

积分
242
发表于 2017-2-9 14:54:34     
本帖最后由 暴走的阿Sai 于 2017-7-7 10:30 编辑

Opencv是一个开源的计算机视觉库,可以给开发人员提供更便捷的方式设计复杂的视觉应用,Opencv主要是用c和c++编写,可以运行在Windows/Linux/Mac等上。这几天尝试着在RK3288上安装Opencv,被虐了好多遍,幸好没有放弃,终于弄出了。之前一直是通过电脑先交叉编译Opencv再移植的方法,但是在编译过程中总是遇到各种问题,换了不同的Opencv源又会出现新的问题,所以如果有交叉编译移植成功的朋友不妨交流一下。这里采用了一种比较折中的方法,直接在开发板上配置好环境,然后安装编译Opencv。

一、前期准备

开发板烧写的固件是官方网站下载的,Ubuntu的系统。

将开发板与电脑通过串口连接起来,方便命令控制。

在Opencv官方网站下载一个在linux下的Opencv源,我的是opencv-2.4.10.zip,放到开发板的/home下,http://opencv.org/downloads.html

二、环境配置

1、更新软件源

apt-get update

apt-get upgrade

2、下载依赖项

apt-get install gcc g++

apt-get install cmake

apt-get install build-essential

apt-get install libgtk2.0-dev

apt-get install pkg-config

apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev

apt-get install python-dev python-numpy

3、解压缩

去到opencv源码所在文件夹下,(我的在/home目录下),解压缩

unzip opencv-2.4.10.zip

这时/home目录下多了一个文件夹,opencv-2.4.10

4、编译Opencv

cd /home/opencv-2.4.10

mkdir build

cd build/

使用cmake工具编译生成makefiel,指定opencv安装在/usr/local(这个安装目录最好不要改,如果要改也是弄成/usr/local/xx这种目录)

cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..

等到环境检测完成

make

这时候就是等待安装,时间有点长,这时候可以放在那里干其他事情......

2017-02-09 10:24:19屏幕截图.png

等到编译完毕,install一下让它生效

make install

2017-02-09 13:21:30屏幕截图.png

可以看到在usr/local/lib下有很多编译好的opencv动态链接库

2017-02-09 13:24:25屏幕截图.png

在环境变量文件上写库的位置
    vim /etc/ld.so.conf

在这个文件的最后一行加上/usr/local/lib

2017-02-09 14:17:46屏幕截图.png

然后运行/sbin/ldconfig

4、测试

写一个测试代码opencv.cpp,看opencv能否使用,这段代码的意思是将一幅图片转换成灰度图显示出来,并且显示出原图

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

}   

生成可执行文件opencv

g++ `pkg-config opencv --cflags --libs opencv` -o opencv opencv.cpp -I /usr/local/include/opencv -L /usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_gpu -lopencv_ts -lopencv_video -lopencv_objdetect -lopencv_ml -lpthread

开发板连上显示器,运行程序(下载一张图片弄到同一文件夹下)

./opencv lena.jpg

效果如下:

2017-02-09 14:50:44屏幕截图.png


三、参考文件链接

http://blog.csdn.net/herhero/article/details/50913150

http://tieba.baidu.com/p/3958907653





回复

使用道具 举报

34

积分

0

威望

0

贡献

游客

积分
34
发表于 2017-2-9 17:47:20     
好熟悉的图片{:4_180:}
回复

使用道具 举报

52

积分

0

威望

0

贡献

技术小白

积分
52
发表于 2017-3-22 14:05:43     
r如果rk3288上运行的是android系统就不能引用交叉工具链,只能用Android.mk编译
回复

使用道具 举报

149

积分

0

威望

0

贡献

技术小白

积分
149
发表于 2017-3-22 18:54:54     
这个是在ubuntu系统下运行的吗?
回复

使用道具 举报

242

积分

3

威望

0

贡献

技术达人

Rank: 2

积分
242
发表于 2017-3-23 09:00:28     
22222 发表于 2017-3-22 18:54
这个是在ubuntu系统下运行的吗?

是的
回复

使用道具 举报

3

积分

0

威望

0

贡献

游客

积分
3
发表于 2017-3-29 20:22:38     
您好 请问一下安装需要多少空间?我这个存储空间是不是装不上了...
Filesystem                        Size  Used Avail Use% Mounted on
/dev/block/mtd/by-name/linuxroot  2.5G  2.0G  444M  82% /
udev                              471M     0  471M   0% /dev
tmpfs                             200M  8.5M  192M   5% /run
tmpfs                             500M     0  500M   0% /dev/shm
tmpfs                             5.0M  4.0K  5.0M   1% /run/lock
tmpfs                             500M     0  500M   0% /sys/fs/cgroup
tmpfs                             500M     0  500M   0% /mnt/RAM_disk
tmpfs                             100M     0  100M   0% /run/user/1000
回复

使用道具 举报

242

积分

3

威望

0

贡献

技术达人

Rank: 2

积分
242
发表于 2017-3-30 09:57:36     
pizi 发表于 2017-3-29 20:22
您好 请问一下安装需要多少空间?我这个存储空间是不是装不上了...
Filesystem                        Si ...

opencv源码解压缩出来大概是200M
回复

使用道具 举报

89

积分

0

威望

0

贡献

技术小白

积分
89
发表于 2017-7-6 10:43:38     
用rk3399 opencv处理图像感觉很慢,如何加速呢??
回复

使用道具 举报

1248

积分

0

威望

0

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
1248

活跃会员突出贡献优秀版主荣誉管理论坛元老

发表于 2017-7-6 17:53:45     
好贴,支持一个
回复

使用道具 举报

155

积分

4

威望

3

贡献

技术小白

积分
155
发表于 2018-1-16 19:38:54     
opencv使能了opencl,但是UMat比Mat慢很多,楼主知道怎么回事吗
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表