图像快拼笔记与图像相关资料收集

 

opencv博客:

这才是重点,这里包含了基础知识,也有图像快拼的实现

https://www.cnblogs.com/skyfsm/category/1000207.html

 

 

一篇图像快拼微创新论文——BSURF:

http://www.doc88.com/p-7426381107599.html

我个人的直觉,这就是用了SURF,改了一下数据类型(与之匹配的其他工作可能也有,我不太熟悉,只是感觉是这样),其他的“堆料”部分可以当做一个基础知识的了解,然后可能就没有太多内容了。

 

 

 

 

 

 

一篇全景图像快拼微创新论文https://www.doc88.com/p-0773737529661.html

 

 

傅里叶变换

https://www.matongxue.com/madocs/619.html

一句话总结:周期函数用三角函数来拟合(如果了解神经网络,很容易理解这个概念)。有一些动图,还不错。

(这个作者有很多数学方面的博客,如果每一个都像这样生动形象,那确实没事可以多看看,不过大多数都是收费的)

不过其实带动图的真的很多https://www.cnblogs.com/h2zZhou/p/8405717.html

 

haar小波变换

https://blog.csdn.net/HanFeiKei/article/details/83584963

常用特征描述子:

https://blog.csdn.net/u012526003/article/details/82156314

hog只是其中一种,sift、surf、orb之类的都算,总之就是描述图像中的关键有用信息的一种(手段?)

feature descriptor

用来提取特征向量,提取特征向量是一个中间步骤,比如,输送给SVM。

比如:edge detector,检测边缘信息。感觉像CNN中filter的概念?可能区别只是,CNN是自动学习的,这里可能是人主动定义的。

特征描述子——HOG:

https://www.cnblogs.com/AdaminXie/archive/2018/10/31/9884096.html


HOG:无符号的方向信息,直方图,9位方向向量(360度,无方向,180度,20度一个方向,9个方向)

8*8的格子,每个点有一个方向和一个幅值,把这64个幅值按方向(可能有一个点被统计到两个方向)统计到八个方向,就是这个大格子(patch?)的HOG直方图(见原文的图),HOG也就好理解了,梯度的直方图,把梯度按方向统计起来的直方图。(HOG没区域重叠吧?CNN可能有!这里已经是一个点了,没法再重叠了)

一个8*8统计起来,就是一个“*”了,就是形状不一样。

直方图的归一化(每个大格可能明暗程度不同,有归一化操作,需要更大的尺寸,16*16去做,等于四块?)

(感觉代码还是没给全,只计算了梯度和角度,没有统计过程,还没产出HOG呢吧?)

这也是一篇HOG,也介绍了描述子的概念

https://baijiahao.baidu.com/s?id=1646997581304332534&wfr=spider&for=pc

 

FLANN

https://blog.csdn.net/andylanzhiyong/article/details/84778889

目前对flann还是偏向黑盒,甚至都不能搭配,在opencv里,基于orb的用一个flann接口,基于surf的用一个flann接口,并且不能交叉用,记得报错了。所以需要补一下这方(其实看完,这篇也没太多东西,也有一个差不多完整的流程,不过最后是画框,没做拼接,接口可能比之前的2.x更新,以后可能会参考接口

 

 

基础知识——ORB特征提取和FAST角点检测:

https://blog.csdn.net/maweifei/article/details/62887831

里边有很多图文介绍,比较好理解,关于特征点,角点的概念,其实深度网络检测到的特征也不过如此,只是方式不一样,一个是黑盒,通过不同网络层的层叠组合,一个是人为定义的角点特征,而且黑盒的神经网络组合出来的东西不一定就只是角点和线的特征,也可能有颜色,神经网络基础知识这就不细说了,主要是好奇他说FAST角点检测“基于机器学习”,是怎么基于的?提前训练好的,写死在算法里了么?(ID3决策树,输入圆周像素,细节未知)!

一共有好几步,还包括NMS,响应值的计算和临近特征去重。

尺度不变性其实就是建立金字塔,按比例缩小图像(感觉这些都是开销啊,做快拼都是躲不开的坑,没办法)。

感觉我的工程是不是用FAST会更好?OPENCV有没有相关接口也要注意。(TODO)

提供了小demo,基于opencv接口,角点检测的,还有draw keypoint的,可以把自己实际需要处理的图跑一下看看效果,至少低空航拍看起来,FAST特征已经足够多了

TODO说完特征feature,描述description到底是什么形式?本文只是顺带提了两个步骤,也没说详细的

ORB比FAST,就是多一个方向?这个方向是指什么?对于我的实际需求,是否可以不要?FAST是特征提取,但是特征描述没有FAST接口。

 

基础——RANSAC:

https://www.cnblogs.com/doctor-li/p/11428582.html好像通俗,但好像不准,他里边很多名词定义是他自己定的。

https://zhuanlan.zhihu.com/p/45532306

https://blog.csdn.net/robinhjwy/article/details/79174914这个更通俗点,RANSAC好像是筛选匹配的,去除一些错误的匹配。这里也多少提到一点单应矩阵的信息,但是不算太多,能看到loss公式和映射过程。

不是内点,是局内点,意思好像有点像分布,同分布,类似深度学习BN、数据集合数据增广提到的分布问题,局外点就认为不是这个分布吧,当然,只是一个参考。

https://blog.csdn.net/fandq1223/article/details/53175964前者提到的算法详解

https://zhuanlan.zhihu.com/p/45532306简洁直观的几张图

 

 

仿射变换相关基础

仿射变换等等,很多可视化的例子,生动,尤其,这里边的图有个座标系的问题,实际Mat中的图片,和一般主观座标系是不一样的,y是朝下的,另外,他这里的仿射变换之rotate,和“刚体变换”的正负设定不知道为什么不一样,这一来一回,负负得正,看起来好像和之前分析的结果一样,其实概念不一样,注意!https://www.cnblogs.com/shine-lee/p/10950963.html

 

基础——各种不同变换,有公式。哪个是平面,哪个是二维,哪个是三维,简单清晰https://blog.csdn.net/qq_29462849/article/details/80728757

 

https://blog.csdn.net/weixin_41484240/article/details/80500903挺全面。有某本书的截图,变换示意图,推导什么的也还可以。《图像理解 第三版》?可能不是。他还贴出了更多各种变换参考博客

他的参考: http://blog.csdn.net/kinbosong/article/details/64923831 
http://blog.sina.com.cn/s/blog_90cf580001013oc4.html 
http://blog.csdn.net/u014096352/article/details/53526747 
https://zhidao.baidu.com/question/189639914.html

 

 

四种变换:(其实都是矩阵,都是一样的操作,换了不同的参数限定,就分类成不同变换了)对比,矩阵形式说明

https://blog.csdn.net/aiwoshan0908/article/details/80047529

本例需要做的航拍快拼,最好是不变形,平移变换最好,飞行S路径的转弯问题再说~~

处理转弯两方案:1,把转弯的图也贴进来,2.转弯处都不要,下一航道从头拼一张,但是下一次的起点何时判断?我目前认为是大概180度,此时新建一张主图,再迭代下去。

 

 

 

各算法对比:

https://blog.csdn.net/vonzhoufz/article/details/46461849

如果根据这个结论,可能ORB还是比FAST强一点,FAST特征确实多,就是质量不确定,ORB是在此基础的强化,暂时先保留ORB,用不用FAST可以用实图多测一下对比一下。

 

 

opencv旋转的定义:

https://www.cnblogs.com/jsxyhelu/p/9559935.html

旋转中点、角度,包含基本demo

 

 

================================================================================================

opencv版本问题:

nonfree和legacy在2.x,如果硬要用3.x或者4.x,需要自己编译,我目前没有特殊需求,只用那几个接口的话,先用2.x也可以,资料和方法备份一下:windows需要下载一个cmake,把专门的contrib编译进去,相应的,接口位置有点变化,xfeatureas2d。

https://stackoverflow.com/questions/27418668/nonfree-module-is-missing-in-opencv-3-0

https://github.com/opencv/opencv

cmake的安装https://blog.csdn.net/u011231598/article/details/80338941

vs环境的配置,也包括cmake操作https://blog.csdn.net/u014284965/article/details/95069814

 

 

杂:

opencv单应变换和透射变换等接口说明https://www.cnblogs.com/wqj1212/p/3915859.html

仿射变换和透视变换(有公式)https://blog.csdn.net/flyyufenfei/article/details/80208361

 

放大与缩小适用resize插值类型,与效率对比,如果我拼的图太大,可能适当考虑压缩https://blog.csdn.net/weixin_41424481/article/details/96975616

copyto,其实这种copyto方法边缘还是会留下一些东西,不知道怎么优化https://www.cnblogs.com/phoenixdsg/p/8420716.html

官网(其实每个函数都有一句话,和自己看头文件一样,什么信息都没有,不友好)https://docs.opencv.org/

 

(感觉太多太杂,照着弄下来收获一般,适合当工具书,但是又没有很好的索引,太长,有空随便扫两眼)史上最全的OpenCV入门教程!这篇够你学习半个月了!万字长文入门https://www.seoxiehui.cn/article-32318-1.html

GIS相关:

之前收藏夹放了一个基本的经纬度每米多少度和每度多少米的换算公式。

但是根据一些经验,可能高海拔会产生一定偏差。

(我插一句,就算不考虑海拔,也有其他偏差?地球是圆球吗?或者至少,地球引力均等吗?0海拔也不等于圆球吧?)

下边的目前还没细看

https://www.cnblogs.com/softfair/p/lat_lon_distance_bearing_new_lat_lon.html

 

 

 

其他知识:

旁向重叠http://www.kepuchina.cn/wiki/ct/201802/t20180213_551963.shtml

一个区域需要采集多条航道,航道间的重叠,就是旁向重叠

条带、点云、消冗。

本篇也给出了一种消冗方法——格网化点云数据。

仅供学习参考,对图像快拼没有实质性帮助,反正是一种事后的整体处理,用到很多点云信息,估计会慢,并且必须是事后,同样是慢,直接用CC之类的三维建模就可以了。

 

 

三角函数:

https://wenku.baidu.com/view/1d0e337aa5e9856a5612608b.html

矩阵操作:

https://www.cnblogs.com/seniusen/p/9962935.html

逆矩阵,几何意义:

https://www.cnblogs.com/noluye/p/12262580.html

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章