从零开始搭建opencv3.0交叉编译环境(Ubuntu14.04+eclipse)(四)_opencv3 交叉编译-程序员宅基地

技术标签: ubuntu  交叉编译  ARM  opencv  eclipse  

本次是opencv3.0的交叉编译

前几次的教程已经安装了opencv3.0并测试,基本工具不重复叙述


交叉编译用友善之臂的编译工具,官网地址:http://www.arm9.net/download.asp

我测试过另一个交叉编译工具,编译的时候会出错


换成友善之臂之后就成功了。。。

我下载的是4.4.3版本

http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.4.3-20100728.tar.gz

下载后,将工具链移到系统位置

cd opt/FriendlyARM/toolschain
sudo mv 4.4.3 /usr/local/arm
然后修改环境变量

sudo gedit /etc/profile
增加路径设置,在末尾添加如下:

export PATH=$PATH:/usr/local/arm/4.4.3/bin
使配置生效
source /etc/profile
测试是否配置成功

arm-linux-g++ -v
显示版本号则配置成功


然后到opencv的

基本参考:http://blog.csdn.net/gatieme/article/details/49080355

首先修改opencv3.0的parallel.cpp文件,参考

https://github.com/mshabunin/opencv/commit/1f983ec39c97298b0c8ce409a1cc229ecf14e55c?diff=unified

先进入opencv目录然后

sudo gedit opencv-3.0.0/modules/core/src/parallel.cpp
目录不同请随机应变,opencv-3.0.0为解压后的文件,怕改错的请先备份,或者直接用我自己修改的,替换掉源文件

下载地址:http://download.csdn.net/detail/u012354697/9432543


然后

sudo cmake-gui

类似上一次教程,选择源和编译后放的地方


点Configture,选择第四个,Next


Operating System填arm-linux,C和C++工具选择安装的交叉编译,用绝对地址,Target Root选工具的地址,Finish


选上BUILD_JPEG和BUILD_PNG

修改安装地址


去掉WITH_TIFF

Configture,Generate


修改CMakeCache.txt
cd opencv-arm/
sudo gedit CMakeCache.txt
定位到194行

CMAKE_EXE_LINKER_FLAGS:STRING=' '
改为
CMAKE_EXE_LINKER_FLAGS:STRING='-lpthread -lrt -ldl'

回到opencv-arm目录

sudo make
sudo make install

安装成功后要配置eclipse

设置编译工具和opencv头文件地址



设置连接工具和连接地址及文件


注意文件要加这几个,因为安装时用到了


设置好后编辑代码

#include<opencv2/core.hpp>
#include<opencv2/imgcodecs.hpp>
#include<opencv2/imgproc.hpp>
using namespace cv;
int main(void)
{
	Mat pic;
	pic=imread("test.png");
	Mat gray;
	cvtColor(pic,gray,COLOR_BGR2GRAY);
	imwrite("gray.png",gray);
	return 0;
}
点编译,编译成功,生成arm可运行的文件

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012354697/article/details/50670715

智能推荐

bunsenlasb中文Linux,在线试用 200 多种 Linux 和 Unix 操作系统-程序员宅基地

文章浏览阅读178次。只要打开该网站,选择你需要的 Linux/Unix 发行版,然后开始试用!-- Sk(作者)不久前我们介绍过 OSBoxes ,该网站提供了一系列免费且开箱即用的 Linux 和 Unix 虚拟机。你可以在你的 Linux 系统中下载这些虚拟机并用 VirtualBox 或 VMWare workstation 试用。今天,我偶然发现一个名叫 “DistroTest” 的类似服务。与 OSBoxe..._bunsenlabs

Linux芯片级移植与底层驱动(基于3.7.4内核) --中断控制器_cpsid if-程序员宅基地

文章浏览阅读327次。3. 中断控制器驱动在Linux内核中,各个设备驱动可以简单地调用request_irq()、 enable_irq()、disable_irq()、local_irq_disable()、local_irq_enable()等通用API完 成中断申请、使能、禁止等功能。在将Linux移植到新的SoC时,芯片供应商需要提供该部分API的底层支持。local_irq_disabl_cpsid if

从10万到百亿营收的背后 | 同程旅游CTO V课堂实录_ctov;-程序员宅基地

文章浏览阅读2.7k次。转载酷饭网 http://qoofan.com/read/RnMkBREqGD.html前言在 10 多年的同程创业历程中,张海龙经历了从 5 人到万人的扩张、融资等过程,他对电子商务、O2O、在线旅游、创业历程、文化打造、技术团队提升等也有较深的理解和心得。作为同程旅游联合创始人暨现任CTO,张海龙全面负责着同程网一千多人的研发团队管理及同程研发中心的_ctov;

我看不懂,但我大受震撼!-程序员宅基地

文章浏览阅读235次。大家好,我是极客重生,9月开始了,又到了看书的季节。经典的书籍不在乎多,而在乎认真读完,领悟作者(大师)的真谛,经典书,就是值得反复阅读的书,每次阅读都可以获得新的认知!看一看有没有你喜欢..._linux操作系统知识地图2.0 pdf

程序员提高技术的10大神器!-程序员宅基地

文章浏览阅读595次。今天给大家精心推荐一些行业里做的用心的技术公众号,覆盖不同的技术领域,相信一定能给大家的技术成长之路带来帮助。程序员小灰▲长按图片识别二维码关注作者小灰 ,通过一群可爱的..._后端掌握的神器

EasyNVR RTSP摄像机转HLS直播服务器中使用Onvif协议控制预置位-程序员宅基地

文章浏览阅读62次。EasyNVR支持预置位控制,包括转到指定预置位,设置指定预置位,删除指定预置位预置位在安防领域有较为普遍的应用,可以进行很多既定位置的跳转,很方便之前我们说过如何用Onvif协议进行设备的发现,探测,以及云台控制等,今天我们来说一下如何使用Onvif进行预置位的操作流程获取设备能力Capabilities获取设备的能力,并且可以获取到Media和PTZ的..._ptzbindingproxy

随便推点

tomcat的classpath设置_tomcat配置classpath-程序员宅基地

文章浏览阅读560次。在tomcat启动的时候,tomcat不会用JDK的classpath,这个是在tomcat启动的catalina.sh里面设置的。如果需要把自己的目录加进去的话,在下面加一句。CLASSPATH:自己的目录。_tomcat配置classpath

DNS主从服务器详细配置_主dns和从dns怎么设置-程序员宅基地

文章浏览阅读517次。DNS域名的分层结构:根域 国家域 顶级域 二级域 主机名DNS解析过程:DNS的解析过程是分层解析的,一般客户机将解析的请求发送给它的DNS服务器,DNS服务器首先是从根DNS服务器开始改进域名解析请求,根将com域的IP反馈给客户机的本地DNS服务器,本地DNS服务器访问com域服务器,com域服务器反馈baidu域的IP给本地DNS服务器,本地DNS服务器访问baidu域服务器询问WWW域服务器的IP,baidu域服务器给DNS服务器反馈www域的ip,这时本地DNS服务器得到www.baid_主dns和从dns怎么设置

栈实现综合计算器(中缀表达式)_栈计算器中缀-程序员宅基地

文章浏览阅读123次。代码实现package com.springboot.数据结构.stack;/** * @author: 牧羊 * @Date: 2020/4/29 15:28 * 栈实现综合计算器(中缀表达式) */public class Calculator { public static void main(String[] args) { String..._栈计算器中缀

Qt-装饰者模式_qt装饰模式-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏4次。1. 定义装饰者模式 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。装饰者和被装饰对象有共同的超类型你可以用一个或多个装饰者包装一个对象。既然装饰者和被装饰对象有相同的类型,所以在任何需要原始对象(被包装)的场合,可以用装饰过的对象代替它。装饰者可以在所委托被装饰者的行为之前与/或之后,加上自己的行为,以达到特定的目的。对象可以在任_qt装饰模式

how2j学习日志——J2EE(2018年3月28日)-程序员宅基地

文章浏览阅读152次。1.开始跟着站长学习J2EE,首页是简单的Tomcat安装和部署,我从官网上下载的是7.0.85版本,修改server.xml中的默认端口号为80。80端口是web服务的默认端口,因此在浏览器上输入127.0.0.1就行了,不需要再输入端口号。2.由于我把之前的继承包WampServer卸载了,因此去官网上重新下载了一个MySql服务器,版本是5.1.38(64位)。选择cu..._howj2ee

面向对象的三大特征_面向对象的三大特性-程序员宅基地

文章浏览阅读9.8k次,点赞5次,收藏37次。面向对象的三大特征——封装、继承、多态_面向对象的三大特性

推荐文章

热门文章

相关标签