最详细的APAP论文代码分析

最详细的APAP论文代码分析最详细的APAP论文代码分析代码见:https://cs.adelaide.edu.au/~tjchin/apap/此次实验选用的代码是2013年的版本:由于文档中的代码块截图不一定清楚,需要的可以去上面的网址下载代码对照着看。一、代码1.1、加载文件在程序开始前调用close、clear等函数清除原先工作空间的操作,然后将此次实验所需的文件文件添加到环境中。1.2、编译Mex文件经过对代码块添加测试代码,证明了此处的代码块并未执行,在命令行仅仅输出了对文件的判断,而未输出if-end

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

代码见:https://cs.adelaide.edu.au/~tjchin/apap/
详细代码论文

此次实验选用的代码是2013年的版本:
在这里插入图片描述
由于文档中的代码块截图不一定清楚,需要的可以去上面的网址下载代码对照着看。

一、代码

1.1、加载文件

在程序开始前调用close、clear等函数清除原先工作空间的操作,然后将此次实验所需的文件文件添加到环境中。
在这里插入图片描述

1.2、编译Mex文件

在这里插入图片描述
经过对代码块添加测试代码,证明了此处的代码块并未执行,在命令行仅仅输出了对文件的判断,而未输出if-end代码块中的测试代码。结果显示三个输出都是3,如下图所示:
在这里插入图片描述

1.3、设置VLFeat工具箱

在这里插入图片描述

1.3.1 什么是VLFeat工具?

VLFeat开源库实现了很多著名的机器视觉算法,如HOG、SIFT、MSER、hierarchical、k-means, agglomerative information bottleneck、SLIC superpixels和quick shift,专门用于图像理解和局部特征提取和匹配。VLFeat开源库是用C语言写的,以确保其效率和兼容性,同时VLFeat还提供了MATLAB接口和详细的文档,可以在windows, Mac, 和Linux上使用。下载地址是:http://www.vlfeat.org/

如何在MATLAB中配置VLFeat请参考文章:matlab配置vlfeat工具箱(https://blog.csdn.net/u013531940/article/details/86758215?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163117581216780265435350%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163117581216780265435350&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v29_ecpm-2-86758215.pc_search_result_control_group&utm_term=matlab%E4%B8%AD%E8%AE%BE%E7%BD%AEVLFeat%E5%B7%A5%E5%85%B7%E7%AE%B1%E4%BD%9C%E7%94%A8&spm=1018.2226.3001.4187 )

1.4、Matlab中的并行计算
1.4.1 matlab并行运算函数

在matlab较老的版本,如2013,2014版本中,使用的并行运算函数是:matlabpool函数

在matlab较新的版本,如2017,2018版本中,换成了:parpool函数

我在这次实验中使用的是2017版本的,需要对作者的代码进行一定的修改,如下图所示:
在这里插入图片描述

1.4.2 matlab并行原理

Matlab的并行计算实质还是主从结构的分布式计算。当你初始化Matlab并行计算环境时,你最初的Matlab进程自动成为主节点,同时初始化多个(具体个数手动设定,详见下文)Matlab计算子节点。Parfor的作用就是让这些子节点同时运行Parfor语句段中的代码。Parfor运行之初,主节点会将Parfor循环程序之外变量传递给计算子节点。子节点运算过程时互不干扰,运算完毕,则应该有相应代码将各子节点得到的结果组合到同一个数组变量中,并返回到Matlab主节点。当然,最终计算完毕应该手动关闭计算子节点。

参考:https://blog.csdn.net/luolang_103/article/details/84870735?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163117962216780255233923%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163117962216780255233923&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-3-84870735.pc_search_result_control_group&utm_term=parpool&spm=1018.2226.3001.4187

1.5、使用定义的参数

这里不做过多的解释。
在这里插入图片描述

1.6、输入测试图片

这里使用了两种方式,第一种是使用作者定义的图片,如下图所示,根据使用者输入的数字不同(如图中①所示),选用不同的图片进行实验,同时加载SIFTdata文件夹中的数据。
在这里插入图片描述
第二种方式是实验者自己选择照片,进行实验,如下图所示。本次实验我们选用的是第二种方式,用我们自己的图片进行测试。
在这里插入图片描述

1.7、正常化点分布及显示图片

在这里插入图片描述
显示的输入图片:
在这里插入图片描述

1.8、删除离群点,同时利用RANSAC算法得到匹配图

在这里插入图片描述
匹配点结果图:
在这里插入图片描述

1.9、求全局单应性,DLT

在这里插入图片描述
具体的分析步骤见参考1。

1.10、使用单应矩阵拼接图像

在这里插入图片描述
拼接的结果:
在这里插入图片描述

1.11、APAP,Moving DLT

在这里插入图片描述在这里插入图片描述

1.12、使用DLT拼接图像

在这里插入图片描述
拼接的结果:
在这里插入图片描述

二、运行程序

找到main.m文件,将其添加到当前工作目录下,点运行即可在这里插入图片描述
在这里插入图片描述

三、参考:

1、https://blog.csdn.net/chentianting/article/details/88869872

2、https://blog.csdn.net/qq_32095699/article/details/80448170?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163115436616780271522172%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163115436616780271522172&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-3-80448170.pc_search_result_control_group&utm_term=APAP&spm=1018.2226.3001.4187

3、 https://blog.csdn.net/qq_32095699/article/details/80448170?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163115436616780271522172%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163115436616780271522172&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-3-80448170.pc_search_result_control_group&utm_term=APAP&spm=1018.2226.3001.4187

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192793.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IDEA引入jar包详细

    IDEA引入jar包详细首先下载 JDBC 驱动 jar 包 jar 包的下载官网 MySQL DownloadConn Jhttps dev mysql com downloads connector j 我们选择 PlatformInde 如下图 如若你的版本不是 8 0 29 可以点击 Archives 在 ProductVersi 下选择你的版本 这里我选择的是 8 0 24 OperatingSys 操作系统 选择 PlatformInde 点击第二个

    2025年10月2日
    3
  • 罗技mx master 3连接不上接收器_罗技mx master 3打游戏

    罗技mx master 3连接不上接收器_罗技mx master 3打游戏默认1通道是USB连接,如果匹配过蓝牙的话通道的信号被占用了,需要下载软件匹配,您可以根据软件提示进行匹配的呢。优联软件下载:https://support.logi.com/hc/articles/360025297913(如果打不开,可以科学上网)安装后打开,根据软件步骤依次关闭电脑蓝牙,重启鼠标,等待几秒后即可正常连接。…

    2022年10月15日
    2
  • 7_首页分类按级别展示[通俗易懂]

    7_首页分类按级别展示[通俗易懂]需求在首页展示商品分类列表属性值请求urlhttp://{zuul:port}/api/portal/categorys/categorys请求方式GET参数无返回值HttpResult.ok(分类列表)实现1、pojo实体类要展示商品分类信息,需要树形结构展示,所以需要在Itemcat类中增加一个childern属性表示子分类比如:我们查看一级目录有:家电、手机、服装,但在家电这个一级目录下,又有分类,我们称为二级目录,有:电视

    2022年6月25日
    25
  • 伴随我们长大的经典—写给从80后的一批人[通俗易懂]

    伴随我们长大的经典—写给从80后的一批人[通俗易懂]很难从时间的范围来划分我们这代人具体是指哪一代人,有人说差三岁就是一代人了,我对这句话就有很深的体会,所以如果非要从时间角度来划分的话,我想我们这代人应该是现在正在高等学府就读的那批二十多岁左右的人,他们大致都出生在八二年到八八年这几年间。  写这篇东西的目的是为了纪念伴随我们一起长大的那些经典的东西,正是由于它们的存在,我们的童年时代才不至于那么无聊。  一、游戏类 

    2022年10月21日
    2
  • 决策树—回归[通俗易懂]

    决策树—回归[通俗易懂]核心:划分点选择+输出值确定。一、概述决策树是一种基本的分类与回归方法,本文叙述的是回归部分。回归决策树主要指CART(classificationandregressiontree)算法,内部结点特征的取值为“是”和“否”,为二叉树结构。所谓回归,就是根据特征向量来决定对应的输出值。回归树就是将特征空间划分成若干单元,每一个划分单元有一个特定的输出。因为每个结点都是“是”…

    2022年8月21日
    11
  • 世界各个地区WIFI 2.4G及5G信道一览表

    世界各个地区WIFI 2.4G及5G信道一览表世界各个地区WIFI2.4G及5G信道一览表

    2022年5月20日
    259

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号