本次是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
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可运行的文件