Linux开发二十三_opencv移植

来源:互联网 发布:诛仙手游道法对应数据 编辑:程序博客网 时间:2024/06/08 17:40

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源码

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 看守所转监狱不收怎么办 己判实刑有病看守所不收怎么办 判决书生效前看守所不收怎么办 法院判实刑看守所不收怎么办 派出所立案后送拘留所了怎么办 打架斗殴被关在看守所了怎么办 在看守所羁押期间患癌症怎么办 无法偿还借款拘留15天后怎么办 离婚起诉被告人被羁押怎么办 事实不清的案件怎么办 交通事故没时间去做笔录怎么办 偷东西被拘留家长该怎么办 在香港被拘留了怎么办 发票认证机卡了怎么办 交罚款的单子丢了怎么办 父亲行政拘留考警察政审不过怎么办 非法经营罪立案后不批刑拘怎么办 12分扣完了怎么办2018 驾驶证c1扣14分怎么办 车辆被扣12分怎么办 两个违章扣12分怎么办 车辆违章扣12分怎么办 一下扣了20分怎么办 违章扣了100多分怎么办 车子累计扣12分怎么办 起诉了对方不来怎么办 在监狱里被打伤了怎么办 初三要体检没去怎么办 羁押人在看守所没判刑怎么办? 在看守所关两年了还没有判刑怎么办 开麻将馆被拘留怎么办 拘留31天了我该怎么办 收到一封拘留信怎么办 存钱的收据掉了怎么办 行政拘留法制没有批的怎么办 别人起诉我我该怎么办 去钟落潭看守所送衣服要怎么办 长城宽带账号密码忘了怎么办 预约考试密码忘了怎么办 健康证预约号忘记怎么办啊 人在看守所七个月还没结果怎么办