Linux开发二十三_opencv移植

Linux开发二十三

opencv移植

象棋小子    1048272975

opencv是一个开放源代码的机器视觉库,它是基于c/c++开发的,可用与计算机视觉、图像处理、模式识别和跟踪等等。

1. opencv编译

从opencv官网下载最新的opencv3.2.0源码,可以在源码包中查看README文件等,确定编译、安装的步骤。

opencv通过cmake进行配置。

cmake-gui

输入opencv源码目录,构建目录后,点击Configure,先配置交叉编译工具。


交叉工具配置完成后,将会出来默认的选项配置,选中基本jpeg、png、opencv模块的构建。

WITH组中,选中WITH_QT,必须已经编译安装好Qt,不要点选其它的GUI(如WITH_GTK),用于支持opencv HighGUI,HighGUI用来建立快速软件原形或是试验用的,它的设计意图是为用户提供简单易用的图形用户接口,这是根据不同GUI,需要移植的部分。opencv已经内部支持了MFC、Qt、GTK等等。

点选WITH_QT后,再进一步Configure,会进一步出来Qt的配置选项,设置Qt相应的安装目录。

设置编译选项,设置安装目录为/usr/opencv3.2.0,编译Qt5.8工程需支持c++11标准,CMAKE_CXX_FLAGS加上 -std=c++11。

最后点击Configure,没有错误后,点击Generate,生成Makefile文件,进入到opencv的build目录,make、make install安装opencv。

2. 环境变量

在/usr/opencv3.2.0目录中生成include、lib、share目录,把lib目录拷贝到根文件系统/usr/opencv3.2.0中。为了能使用opencv,系统必须知道opencv的位置,配置等等。在/etc/profile文件中加入opencv的环境变量。

# opencv

OPENCVDIR=/usr/opencv3.2.0

 

# shared libraries

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib:

$QTDIR/lib:$OPENCVDIR/lib

export  LD_LIBRARY_PATH

3. 应用编程

编译安装好opencv后,就可以用opencv的api函数进行应用编程了,简单的用opencv显示一张jpg图片的测试代码opevcv_test.c如下。

#include <stdlib.h>

#include <stdio.h>

#include "cv.h"

#include "highgui.h"

#include <unistd.h>

 

int main()

{

       IplImage*img = 0;

 

       //load an image 

       img=cvLoadImage("/mnt/lena.jpg",-1);

       if(!img) {

              printf("Couldnot load image file.\n");

              exit(0);

       }

 

       //create a window

       cvNamedWindow("mainWin",CV_WINDOW_AUTOSIZE);

       cvMoveWindow("mainWin",208, 0);

  

       //show the image

       cvShowImage("mainWin",img );

       //refresh the image

       cvWaitKey(5000);

 

       //release the image

       cvReleaseImage(&img);

       return0;

}

编译应用:

arm-linux-g++opencv_test.c -o opencv_test -I /usr/opencv3.2.0/include/opencv -I/usr/opencv3.2.0/include  -L /usr/opencv3.2.0/lib-lopencv_features2d -lopencv_flann -lopencv_objdetect -lopencv_highgui-lopencv_ml -lopencv_photo -lopencv_shape -lopencv_superres -lopencv_video-lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core -L/usr/Qt5.8/lib -lQt5Core -lQt5Gui -lQt5Test -lQt5Concurrent -lQt5Widgets

拷贝lena.jpg图片到sd卡,板端启动后,挂载sd卡到/mnt目录,运行opencv_test。

mount /dev/mmcblk1 /mnt

./opencv_test

4. 附录

https://pan.baidu.com/s/1slczwhJ

bootloader源码以及使用说明

https://pan.baidu.com/s/1eRDJtNs

Qt5.8官网源码

https://pan.baidu.com/s/1nuGmSqt

本系列例程的根文件系统

https://pan.baidu.com/s/1i5btLGT

opev3.2.0官网源码

https://pan.baidu.com/s/1pLpuHw3

yaffs官网源码 

https://pan.baidu.com/s/1bpkZynt

busybox-1.26.2官网源码

https://pan.baidu.com/s/1i4EtjfR

tslib官网源码

https://pan.baidu.com/s/1i5MGRhb

mplayer-1.3.0官网源码

https://pan.baidu.com/s/1sl0fXlr

基于S3C2416修改的linux-4.10.10源码

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值