Hi3559a移植Opencv3.0
主要参考圈圈虫博文。如有错误或侵权,联系删除。
1.安装准备
我这里把以前安装opencv脚本直接来了一遍,可以忽略。
/*
sudo apt-get update
sudo apt-get install build-essential cmake git pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libatlas-base-dev gfortransudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential
sudo apt-get install gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev
*/
为了方便管理,这里新建了三个文件夹:
mkdir opencv
cd opencv
mkdir build_arm64
mkdir install_arm64
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.0.0
2.安装
打开cmake-gui,假设现在所处目录为build_arm64
选择对应的源目录和build目录,源目录当然就是git clone的opencv所在目录,build目录为新建的build_arm64,选择好对应的源码和build目录,点击configure,按照以下选项配置对应编译环境。
选中最后一个选项,点击Next
分别填上教程编译工具链所在位置,我使用的是aarch64-himix100-linux-g++。点击finish
第一次configure会报错,查看log信息是cuda错误,设置WITH_CUDA=OFF重新configure
设置
BUILD_SHARED_LIBS = OFF //生成静态库
CMAKE_INSTALL_PREFIX =install文件夹
WITH_PNG=OFF
点击
Generate
Generate成功就可以make了
make时候,一般会在60%报错,错误信息是缺少pthread库,这个错误搞了半天,参考了圈圈虫博文修改了对应编译选项在CMakeCache.txt里面加上了CMAKE_EXE_LINK_FLAGS:STRING = -lpthread -lrt –ldl重新编译仍然报错,后来基本上该文件每个LINK_FLAGS都加上了- lpthread,重新编译仍然报相同错误。后来在CMake-gui界面上搜索对应的关键字,加上编译选项通过。
填上对应的编译选项,重新编译通过
通过后,make install,会把相关文件copy到install_arm64目录,如图
我们需要的静态库全部在lib下面。
3.测试
demo.cpp
#include <opencv2/opencv.hpp>using namespace cv;int main()
{Mat srcImage = imread("1.jpg");Mat dstImage, edge, grayImage;//imshow("Source image", srcImage);/* 腐蚀 */Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));erode(srcImage, dstImage, element);imwrite("erode.jpg", dstImage);/* 均值滤波 */blur(srcImage, dstImage, Size(7, 7));imwrite("blur.jpg", dstImage);/* 边缘检查 */dstImage.create(srcImage.size(), srcImage.type());cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);blur(srcImage, edge, Size(3,3));Canny(edge, edge, 3, 9, 3);imwrite("canny.jpg", edge);//imshow("Canny", edge);//waitKey(0);return 0;
}
Makefile
CC = aarch64-himix100-linux-g++
DIR = /root/workspace/opencv/install_arm64/
TARGETS := demoLIBS = -lopencv_highgui \-lopencv_imgproc \-lopencv_core \-lopencv_imgcodecs \-lopencv_video \-lopencv_hal \-lpthread \-ldl \-lzlib \-fopenmp \-llibpng \-llibjpeg \INCLUDE = -I$(DIR)/include/LIB_TARGET_DIR = -L$(DIR)/lib \
-L/$(DIR)/share/OpenCV/3rdparty/liball:$(TARGETS)$(TARGETS):demo.cpp$(CC) -std=c++11 $(CPPFLAGS) $(INCLUDE) $^ $(LIB_TARGET_DIR) $(LIBS) -o $@clean:rm -f *.o $(TARGETS)
结果
Hi3559a移植Opencv3.0相关推荐
- 交叉编译并移植opencv3.0.0到arm板
原文:http://blog.csdn.net/gatieme/article/details/49080355 项目需求,交叉编译OpenCV,并移植到arm中. 在opencv2.0以上的版本编译 ...
- 海思Hi3559A平台移植 opencv4.0.0
原文:https://blog.csdn.net/xclshwd/article/details/85257117 海思Hi3559A平台移植 opencv4.0.0 2018年12月26日 09:5 ...
- 安装opencv3.0.0与配置Visual studio 2008
http://jingyan.baidu.com/article/b907e627cb97cd46e7891c3d.html 本经验详细介绍了最新版的opencv3.0.0的安装方法,与visual ...
- VS2013+OpenCV3.0编译TLD跟踪算法
TLD算法跟CMT算法是同一个大神写的,不过现在已经停止更新了,原作者推荐使用CMT算法,不过还是要编译一下它比较一下两个有什么不同.因为TLD算法停止更新的时候还是OPenCV2.X,所以要移植到O ...
- VS2013+openCV3.0无脑配置方法+解决警告问题【windows平台】
VS2013+openCV3.0无脑配置方法+解决警告问题[windows平台] 参考文章: (1)VS2013+openCV3.0无脑配置方法+解决警告问题[windows平台] (2)https: ...
- VS2012下安装OpenCV3.0.0的记要
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 步骤和原理可参考我之前写的博文VS2012下安装 ...
- Ubuntu 安装OpenCV3.0.0
Ubuntu安装OpenCV3.0.0 为了看看opencv3.0的HDR效果,尝试安装opencv3.0到ubuntu12.04上面,安装了好几次终于成功了. 参考博客: http://www.sa ...
- 【OpenCV3】OpenCV3.0 在WIN8+VS2012环境下的配置
一.配置环境变量 1.1.在OpenCV官网http://opencv.org/下载OpenCV最新版本OpenCV3.0 ALPHA ,并解压到指定安装路径下(这里安装到D:\OpenCV300下) ...
- OpenCV3.0中的离散傅里叶变换
图像中的离散傅里叶变换的相关理论较为简单,频域里面,对于一幅图像,高频部分代表了图像的细节.纹理信息:低频部分代表了图像的轮廓信息. 这里我们直接讲解OpenCV3.0中的离散傅里叶变换 1.dft( ...
- 图像凸性检测函数convexityDefects在Python2.7下使用opencv3.0的问题
最近在学习Python下的OpenCV,在图像的凸性检测中,发现opencv3.0下的convexityDefects函数对图像的凸性缺陷处理有错误.不知道是opencv3.0的版本问题还是我个人的错 ...
最新文章
- Error in install.packages : cannot remove prior installation of package
- JavaScript对象克隆
- Python入门练习(二)Viterbi算法
- 2022年全球及中国软包电池铝塑膜行业规模价值与竞争格局展望报告
- 第十五周项目1-打入“内部”寻“内幕”
- c++ 取机器码_吉林c系列防倒灌风帽怎么卖,流线型通风器可定制
- 【bzoj1304】[CQOI2009]叶子的染色 树形dp
- 什么是Microsoft Teams的App Studio
- yolov5的flask部署python调用
- request.path 值危险
- 运行 Java、Python、Go 等 25 种代码后,发现性能最强的竟然是它!
- 支持向量机的基本原理
- iOS9 开发新特性 Spotlight使用
- 互联网企业该如何进行风险管理
- 回顾:HTTP/HTTPS/对称加密/非对称加密/session/cookie/token
- 常用的机器学习算法(使用 Python 和 R 代码)
- Python批量合并处理B站视频
- android仿tim主界面,简单仿腾讯TIM界面
- teamview删除设备
- Shiro logout 302重定向,shiro 302解决方案