数字图像相关DIC算法,Ubuntu16.04,NcorrC++版本开源代码环境配置流程。

本文介绍C++版本数字图像相关法DIC环境配置过程,配置了好几天,痛苦踩坑经历。

DIC算法、资料、源码、实验过程,链接:http://www.ncorr.com/index.php/dic-algorithms#1_1

Github源码地址:https://github.com/justinblaber/ncorr_2D_cpp

环境配置过程中用到的软件包:https://download.csdn.net/download/qq_39638989/1321863

开始配置环境之前必须先了解:

1、本人用到的环境为ubuntu16.04,其他环境下如:ubuntu18.04,ubuntu20.04还没有成功配置的案例,所以请用ubuntu16.04。

2、环境配置是从干净的ubuntu16.04系统开始配置的,也就是说才安装的系统,没有更新过。更新后的系统大概率会导致环境配置失败(主要是opencv3.0.0安装失败),建议使用虚拟机安装新的系统来配置环境。

3、用到的opencv和官方文档上要求一致,都为opencv3.0.0版本。高版本,如opencv3.4.12亲测编译程序无法通过。

正式开始配置环境:

1、从新的ubuntu16.04开始,首先更换清华软件源

sudo gedit /etc/apt/sources.list

将以下内容复制到文件的最前面,然后保存。

# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

更新软件源

 sudo apt-get update

不要使用sudo apt-get upgrade,否则安装opencv3.0.0会报错。

2、安装opencv3.0.0

首先安装必要的依赖环境

sudo apt-get install build-essential -y
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev -y

完成后,将提供的opencv源码解压,并且进入到opencv的文件夹,执行以下命令

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

cmake过程中可能会下载 ippicv_linux_20141027.tgz,网络问题会导致下载失败。因此将提供的ippicv_linux_20141027.tgz文件复制到/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b文件夹下替换已有文件。接下来重新编译和安装

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j8 # runs 8 jobs in parallel
sudo make install

然后配置opencv环境

sudo gedit /etc/ld.so.conf.d/opencv.conf     #(可自行创建)末尾添加一行
/usr/local/libsudo ldconfig       # 更新一下系统的共享链接库
sudo gedit /etc/bash.bashrc 末尾添加一行
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

3、安装FFTW

首先安装依赖

sudo apt-get install libfftw3-dev -y

然后进入文件夹后一次运行以下命令

./configure
make -j8
sudo make install

4、安装lapack

先安装依赖

sudo apt-get install gfortran
sudo apt-get install libblas-dev liblapack-dev

然后进入lapack文件夹更改文件配置

cp make.inc.example make.inc编辑Makefile 文件内容,
把
lib: lapacklib tmglib
#lib: blaslib variants lapacklib tmglib
改为:
#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib

运行make和配置环境

sudo make -j7
sudo cp *.a /usr/lib/

5、安装libgfortran

sudo apt-get install libgfortran3

6、安装SuiteSparse

先安装依赖,我提供的文件安装如下依赖就行了。其他版本参考网页:https://packages.ubuntu.com/source/xenial/suitesparse

sudo apt-get install libamd2.4.1 libbtf1.2.1 libcamd2.4.1 libccolamd2.9.1 libcholmod3.0.6 libcolamd2.9.1 libcsparse3.1.4 libcxsparse3.1.4 -y
sudo apt-get install libklu1.3.3 libldl2.2.1 libspqr2.0.2 libsuitesparse-dev libsuitesparse-doc libsuitesparseconfig4.4.6 libumfpack5.7.1  -y

然后编译安装

#直接make会报错
make library -j8
sudo make install

7、编译运行dic

具体参考官方文档:http://www.ncorr.com/download/ncorrcppmanual_v1_0_0.pdf

但是需要注意的是,编译dic的过程中,提供的cmake文件无法找到gfortran库

解决方法是将CMakeLists.txt文件中的

FIND_LIBRARY(GFORTRAN_LIBRARY NAMES gfortran)

改为

FIND_LIBRARY(GFORTRAN_LIBRARY NAMES libgfortran.so.3)

即可解决问题。

接下来就可以愉快的开始DIC之旅了。

数字图像相关DIC算法,Ubuntu16.04,Ncorr项目C++版本开源环境配置相关推荐

  1. ubuntu16.04安装jdk以及详细jdk环境配置教程,亲测没毛病。

    ubuntu16.04安装jdk以及详细jdk环境配置教程 前言:此文章专为已经购买了云主机的朋友来进行ubuntu系统下的jdk配置教程.因此文中提到的xshell和xftp软件使用就直接跳过. 我 ...

  2. 深度学习(四十一)cuda8.0+ubuntu16.04+theano、caffe、tensorflow环境搭建

    cuda8.0+ubuntu16.04+theano.caffe.tensorflow环境搭建 目前自己撘过深度学习各种库.各种环境,已经搭建了n多台电脑,发现每台电脑配置安装方法各不相同,总会出现各 ...

  3. Open vSwitch(OVS)源码编译Ubuntu16.04,Linux内核版本4.15

    Open vSwitch(OVS)源码编译Ubuntu16.04,Linux内核版本4.15 关于Open vSwitch(OVS)版本与Linux内核的关系,参考这篇文章:Open vSwitch( ...

  4. ubuntu16.04基于eclipse搭建px4编译环境+Jlink调式

    ubuntu16.04基于eclipse搭建px4编译环境+Jlink调式) ubuntu16.04基于eclipse搭建px4编译环境+Jlink调式 一.工具获取 1.eclipse 2.jlin ...

  5. Ubuntu16.04+GTX1060mq(驱动版本430.64)安装CUDA10.0

    Ubuntu16.04+GTX1060mq(驱动版本430.64)安装CUDA10.0 CUDA下载 cuda最新版本下载地址(可在该页面进入历史版本下载): https://developer.nv ...

  6. ubuntu18.04 安装qt5.12.8及环境配置的详细教程

    这篇文章主要介绍了ubuntu18.04 安装qt5.12.8及环境配置的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 环境 系统: ...

  7. 基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置

    基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置详解 CUDA+Cudnn+ROS+anaconda+ubuntu装机必备 笔记本双系统安装 U盘启动项安装ubuntu18.04.1 ...

  8. Ubuntu18.04安装OpenCV4.3.0和环境配置(支持编译CUDA并安装配置python-opencv)

    Ubuntu18.04安装OpenCV4.3.0和环境配置 下载源文件 安装依赖 编译安装 环境配置 动态库配置 配置OpenCV的`PKG-CONFIG`环境 Python-OpenCV环境[如果安 ...

  9. Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇)

    Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇) 折腾了两三天总算顺利在电脑上完成了装x的双系统安装,一路走来还比较顺利,主要在ubuntu的显卡设置上躺了 ...

最新文章

  1. 神经网络其实和人一样懒惰,喜欢走捷径......
  2. win10 中redis client提示 ERR Client sent AUTH,but no password is set
  3. Linux安装Oracle11G
  4. 今年的校招,Java好拿offer吗?
  5. java 静态成员不能调用 非静态成员_为什么静态成员不能访问非静态成员
  6. IOS多线程开发其实很简单
  7. [OS复习]存储管理1
  8. .NET开发者如何使用MyCat
  9. jQuery.ajax success 与 complete 区别
  10. vba 执行网页javascript_JavaScript秘密笔记 第一集
  11. 何宾 单片机原理及应用_STC单片机原理及应用——从器件、汇编、C到操作系统的分析和设计(立体化教程)(第2版)...
  12. 如何查看PublicKeyToken
  13. can使能上拉 gpio_单片机GPIO输入电压不可过大,最好使能上拉
  14. 【Python第三篇】Python装饰器、生成器、迭代器
  15. SQL50题面试题(10-15)
  16. html5 边框效果图,图片边框border-image的用法
  17. php验证电子邮箱格式正确,php判断电子邮件是否正确方法
  18. oracle 错误 20001,LANG=c 引发的 ORA-20001 问题
  19. 面向构件的软件设计问答
  20. python异常处理输入不是整数_【Python】异常处理

热门文章

  1. Ubuntu20.04系统的密码忘记
  2. ubuntu密码忘记-解决方法
  3. 增量式and位置式PID程序实现(内含详细注释)
  4. Tomcat介绍及三种启动方式的区别
  5. Paint Transformer:以“笔画预测”的方式来作画!
  6. 开源作品-PHP写的Redis管理工具(单文件绿色版)-SuRedisAdmin_PHP_1_0
  7. BMS专题之BMS测试
  8. 调用链相关理解和说明
  9. STM32-中断-NVIC与EXTI
  10. 【数据结构】哈夫曼编码和树