立体匹配算法在Ubuntu系统中使用Middlebury数据集评估的步骤

本文主要是介绍立体匹配算法在Ubuntu系统中使用Middlebury数据集评估的步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.概要

最近在研究立体匹配算法在FPGA硬件平台上的部署,算法质量的评估通常可以采用Middlebury数据集或者是KITTI数据集平台,本文主要是记录使用Middlebury数据集评估的方法和步骤。

2.首先需要下载SDK包和数据集

下载地址:vision.middlebury.edu/stereo/submit3

3.在ubuntu20中将SDK解压和将数据集中 MiddEval3-data-Q.zip 和MiddEval3-GT0-Q.zip 的数据解压放进去,合并文件夹

 4. 对SDK包进行编译

(1)编译Libelas

cd alg-ELAS/build
cmake ..
make
cd ../..

(2)编译code中的工具

cd code/imageLib
make
cd ..
make
cd ..

可能会遇到的问题:fatal error: png.h: No such file or directory

解决方法:

sudo apt-get install libpng-dev

安装好之后,再回去进行编译;

5.安装csh

ubuntu默认下是bash,评估所用的shell命令是csh;

安装流程:

(1) 切换到root用户

su root

可能会出现以下情况

(2) 给用户设置密码,输入密码并确认密码

sudo passwd root

 (3) 重新进入root

su root

(4) 需切换回去普通用户。则输入:su 系统的用户名

(5) 以root用户身份登录后,输入:apt_get install csh

(6) 更改root的shell:chsh

(7) 会提示需要输入的信息,输入csh所在的目录

/bin/csh

(8) 重启系统,以root用户身份登录,输入:echo $SHELL  ,返回“/bin/csh”,说明SHELL修改成功。

6.安装完成后,可以跑readme中的步骤5进行评估(Evaluate results by ELAS)

(1)将png类型图片转换为评估所需的pfm类型, 在/home/xxxx/MiddEval3/code路径下输入命令:./disp2pfm 目标.png disp0XXX.pfm;

(2)将自己算法的视差图转为pfm类型后,按下面的命名格式命名并放到相应的文件夹;

(3) 在/home/xxx/MiddEval3路径下,输入命令:./runeval Q training 1,,就可以看到视差图误匹配率了;

7.cvkit的安装

(1) cvkit 介绍

       Computer Vision Toolkit (cvkit) 是一套可以在 Linux 或 Windows 平台上使用的小型计算机视觉研究工具集。它包含许多有用的工具允许可视化分析图像或3D模型。 其中sv 是一款简洁的科学图像查看器,支持PGM、PPM和PFM以及TIFF图像格式。

下载链接:vision.middlebury.edu/stereo/code

(2)cvkit的编译安装命令(在根目录下依次执行下面的命令)

mkdir build
cd build
cmake ..
make
sudo make install

参考链接:https://blog.csdn.net/Stubborn_/article/details/110170731

可以使用:sv XXX.pfm 查看图片了

这篇关于立体匹配算法在Ubuntu系统中使用Middlebury数据集评估的步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/170823

相关文章

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网