图像拼接 综述与算法综述
图像拼接的综述、各种算法描述,算是对自己学习的一个交代均值滤波的方法是,对将处理的当前像素,选择一个模板,该模板为其邻近的若干像素组成,用模板中像素的均值来替代原像素的值。②中值滤波——中值滤波是基于排序统计理论的—种能有效抑制噪声的非线性信号处理技术。它的核心算法是将模板中的数据进行排序,这样,如果一个亮点(暗点)的噪声,就会在排序过程中被排在数据序列的最右侧或者最左侧,因此,最终选择的数据序列中见位置上的值一般不是噪声点值,由此便可以达到抑制噪声的目的这部分的算法很成熟,在FPGA上的实现也很多,也可以比较方便地找到参考算法的实现。12图像配准其实是四个要素的组合,即:1.选定特征空间——特征空间是由参与匹配的图像特征构成。特征可以为图像的灰度特征,也可以是边界、轮廓、显著特征(如角点、线交叉点、高曲率点)、统计特征(如矩不变量、中心)、高层结构描述与句法描述等;这儿其实是定义了配准的空间范围;2.相似性度量——评估待匹配特征之间的相似性,它通常定义为某种代价函数或者是距离函数;这儿是定义需要选定的某种算法3.搜索空间——待估计参数组成的空间就称为搜索空间。也就是说,搜索空间是指所有可能的变换组成的空间,这儿其实是定义了搜索算法的空间复杂度4.搜索策略—搜索策略是指用合适的方法在搜索空间中找出平移、旋转等变换参数的最优估计,使得相似性度量达到最大值,这儿其实是定义了搜索算法的时间复杂度;121基于区域的配准方法基于区域的配准方法——不检测图像中的特征,直接使用窗口或者整幅图像来进行配准从待拼接图像的灰度值出发,对待配准图像中一块区域与参考图像中的相同尺寸的区域使用最小二乘法或者其它数学方法计算其灰度值的差异,对此差异比较后来判断待拼接图像重叠区域的相似程度,由此得到待拼接图像重叠区域的范围和位置,从而实现图像拼接。也可以通过FFT变换将图像由时域变换到频域,然后再进行配准。对位移量比较大的图像,可以先校正图像的旋转,然后建立两幅图像之间的映射关系。总而言之,有很多不定,已经不是现在主流的研究方向。评价:基于区域的方法实现简单,应用范围较窄,它的局限性来源于它的基本思想。◇首先,它使用的矩形窗口只适用于配准平移变换的图像,如果图像有更复杂的变形,矩形奁口就不能覆盖参考图像和待匹配图像中的同一场景区域;◇另外,它依赖于窗口中的图像内容,当窗口中图像內容平滑而没有显著细节时,很容易引起与其他平滑区域的错误匹配。◇再次,在最优变换的搜索过程中往往需要巨大的运算量,且对噪声的影响和对比度的差异很敏感,鲁棒性不强。22基于特征的配准方法基于特征的图像配准方法有很多基本形式及其改进,其总体特点是:不直接利用图像像素值,而是通过像素值导出图像内容最抽象的描述和符号特征,并用此特征为匹配模板,查找几幅待配准图像的灰度局部最大值点、边界边缘轮廓、边缘点、边缘线段、组织(纹理)结构、角、顶点、拐点、交叉点、线段、封闭曲线等低级对应特征点及利用特征图像关系图等高级特征,构造方程组,通过数值计算得到变换数来进行图像对齐,进而确定两者的匹配位置,实现特征点、特征线段等的拼接,并且可以提高计算速度。基于特征的配准方法,一般分为四个步骤1.特征检测——从图像中检测出显著且独特的图像特征,包括闭合区域、直线段边缘、轮廓、点。2.特征匹配——相似性度量,确定图像之间特征的对应关系,又分为如下几小类)使用空域关系的方法②使用不变描述符的方法、③松弛方法、④金字塔和小波的方法3.变换模型的估计——变换函数选择和函数参数估计4.图像变换和重采样——可以通过前向或后向的方式来实现,插值的方法有最近邻插值、双线性插值、双三次函数插值、二次样条插值、三次B样条插值、高阶B样条插值评价基于特征的方法普遍适用于局部结构信息比灰度信息更显著的情况,能够处理图像之间复杂变形的情况,不足之处是特征检测困难且不稳定,最关键的一点是需要有一种判别力很强的、鲁棒的且对图像之间变化保持不变的特征匹配算法。13图像再投影基本方法:需要选择一个合成面,如果仅仅是只有几张图像进行拼接,一个普遍的方法是选择其中的一幅图像作为参考图像,然后把所有其他的图像都进行扭曲变形到参考图像的坐标系上去,这样合成的结果称为平面全景图,这是一个透视投影变换。为了减少投影失真,平面投影→圆柱面投影→球面投影→立方体投影13.1平面再投影选其中某一张图像为参考图像,然后把所有其它的图像进行扭曲变形,从而变换到参考图像的坐标系中去。由于这种模型本质上还足透视投影,因此图像在扭曲变形之后直线仍然还是直线。对丁大视场的图像拼接,平面投影方法会使得最终拼接图像在边缘出现扭曲过大的情况。在实际,当视场接近或超过90时,平面投影的拼接图像会有很大的失真。132柱面再投影圆柱面再投影非常适合于相机绕单一轴线旋转所得到的图像序列拼接,在这种情形下.在不同旋转角度得到的图像由完全的水平位移相关联。这一点很有意义,因为它避免了复杂的单应变换的计算,而且输出得到的图像没有平面再投影存在的扭曲。相反,场景中的直线被映射为正弦曲线。但是,这种方法需要对相机进行预先的标定,计算出相机的焦距和光心的偏移半标。133球面再投影球面再投影的优点是可以实现任意角度的旋转,但缺点是由于每个球面图像有多个相邻图像,因此在球面再投影中图像求交定位比较困难,而且很难找到一个与球面相对应且易于存取的数据结构。14图像融合技术在完成了两幅图像的配准之后,得到了两幅图像之间的变换矩阵,就可以确定它们之间的重叠区域,图像融合的任务就是把配准后的两帽图像根据配准的位置合并为一帼拼接图像。这一步主要包括了如何选择再投影合成面以及如何对两幅图像重叠区域的像素进行混合而得到一幅无缝且清晰的图像。所谓无缝,是指在图像拼接结果中,不应该看到两幅图像在拼接过程中留下的痕迹,即不能出现图像拼接缝隙。然而,由于待拼接的两咡图像分别是由不同的相机在同一时刻采集的,受相机固有因素的影响,采集得到图像的曝光率不可能完全一致,如果在图像的融合中,仅仅将两幅图像重叠区域简单地叠加起来,在它们的过渡区域必然会有明显的拼接缝隙。另一方面,在图像配准阶段所得到的图像之间的变换模型只是针对整个图像区域,对一些存在局部非规则形变的图像而言,全局变换模型在图像的局部区域可能不适用,而使得拼接图像的局部没有对齐,因此在拼接图像中会岀现局部模糊。如何处理图像融合过程中岀现的拼缝和模糊问题,实现真正意义上的无缝且清晰的图像,正是图像融合过程所要解决的问题。融合策略的选择应当满足两方面的要求拼合边界过渡应平滑,消除拼合接缝实现无缝拼接;2.尽量保证不因拼合处理而损失原始图像的信息图像融合可分为三类:像素级融合、特征级融合和决策级融合1.像素级(数据级)融合是在图像严格配准的条件下,直接进行像素关联融合处理;像素级融合是最基本的处理手段,也是硏究最多的—种,目前主要有以下几种方法平均值法②加权平均法③中值滤波法④多分辨率技术2.特征级融合是在像素级融合的基础上,使用模式相关、统计分析的方法进行目标识别、特征提取,并得到融合结果;3.決策级融合主要是基于认知模型的方法,采用大型数据库和专家决策系统,模拟人的分析、推理过程,以增加判决的智能化和可靠性。2参考资料1.硕士论文《門」001_图像拼接技术研究》2.硕士论文《門」_002_基于 Levenberg-Marquardt算法图像拼接硏究》3.硕土论文《門003_图像拼接技术研究》4.网页http://xgli0910.blog.163.com/blog/static/469621682009625831432275.科技论文《P」200基于角点特征的KLT跟踪全景图像拼接算法》6.本科论文《門』100图像边缘检测与提取算法的比较》7.http://www.cnblogs.com/xrwang/archive/2010/03/03/imagefeaturedetection html8.http://www.cnblogs.com/xrwang/archive/2011/03/09/ransac-1.html9.http://blog.163.com/pz124578@126/blog/static/2352269420122271004710910.http://blog.csdnnet/xuyuhua1985/article/details/637175111.http://www.openhw.org/project/index.php?act=view&id=185112.硕士论文《門」015多图像拼接算法研究》13.硕士论文《門010基于特征点图像拼接的配准算法硏究》14.http://blog.csdnnet/abcjennifer?viewmode=contents3图像拼接中的算法31图像预处理通过几何变形校正方法对采集到的图像进行校正后,可以使得相同景物在图像重叠区域所成的像有相同的形状和一致的空间相对位置。3.2图像特征检测图像特征检测包括如下几种类型的特征检测闭合区域2.轮廓和边绿区域3.角点4.线条321闭合区域闭合区域特征是通过图像分割的方法来检测到的,分割的精度会大大地影响配准的结果。近年来,选择尺度不变区域特征引起了关注,虚拟圆的思想来计算图像之间平移和尺度的变化,虚拟圆是一个半径最大的圆,这个圆所涵括的背景区域不包含边缘点,一对虚拟圆就足够求出平移和尺度的变化量,它相对于图像边缘特征来说鲁棒性更强,但缺点是易受局部变化的影响322边缘和轮廓边缘和轮廓——所谓边绿轮廓是指甚周围像素灰度有阶越变化或屋顶变化的那些像
- 2020-12-11下载
- 积分:1
mqtt物联网数据传输协议
引用github的资源https://mcxiaoke.gitbooks.io/mqtt-cn/Introduction3.2 CONNACK一确认连接请求o3.3 PUBLISH-发布消息o34 PUBACK一发布确认o35 PUBREC-发布收到(QoS2,第一步)°36 PUBREL-发布释放(QoS2,第二步)°3.7P∪ BCOME一发布完成(QoS2,第三步)o3.8 SUBSCR|BE-订阅主题o39S∪BACK-订闶确认o3.10 UNSUBSCR|BE-取消订阅3.11 UNSUBACK-取消订阔确认3.12P| NGREG一心跳请求3.13 PINGRESE一心跳响应o3.14D| SCONNECT一断开连接第四章一操作行为第五章一安全第六章一使用 Websocket第七章一一致性目标附录B-强制性规范声明旧版文档已过期,建议使用 GifTbook版本最新版本:V1.0.12015.10.22文档连接中文版HTMLMQTT3.1.1中文版中文版PDFMQTT3.1.1中文版英文版HTMLMQTT Version 3.1.1英文版PDFMQTT∨ ersion3.1.1许可协议署名-非商业性位用-相同方式共享4.0国际联系方式IntroductionBloghttp://blog.mcxiaoke.comGithub:https://github.com/mcxiaoke.Email:github@mcxiaoke.com开源项目·Rx文档中文翻译:htts:/! github. com/mcxiaoke/ RXDOCS·MQTT协议中文版:htps:/ github. com/ mcxiaoke/mgttAwesome-kotlin:httpsgithub.com/mcxiaokelawesome-kotlin.Kotlin-koi:https:/github.com/mcxiaoke/kotlin-koiNeXt公共组件库:htps!/github.com/xiaoke/Android-Next· PackerNg极速打包:htts;/ github. com/mcxiaoke/ packer- ng-pluginGradle渠道打包https://github.com/mcxiaoke/gradle-packer-plugin·VentuS实现xBus:htps;/github.com/miaoke/BuS磨菇饭App:htps:! github. com/mcxiaoke/minicat·饭否客户端:https:/github.com/mcxiaoke/anfouapp-opensourceVolleyt:https://github.com/mcxiaoke/android-volley第一章-MQTT介绍第一章概逃 Introduction1.1MQTT协议的组织结构 Organization of MQTT本规范分为七个章节:第一章一介绍第二章一MQTT控制报文格式第三章一MQTT控制报文·第四章一操作行为第五章一安全第六章一使用 Websocket第七章一一致性日标附录B一强制性规范声明12术语 Terminology本规范中用到的夭键字必须MUST,不能 MUST NOT,要求 REQUIRED,将会 SHALL,不会 SHALL NOT,应该 SHOULD,不应该 SHOULD NOT,推荐 RECOMMENDED,可以MAY,可选 OPTIONAL都是按照 TE RFC2119[RFC2119]中的描迹解释。网络连接 Network ConnectionMQTT使用的底层传输协议基础设施。客户端使用它连接服务端。它提供有序的丶可靠的丶双向字节流传输。例子见42节应用消息App| ication Message MQT协议通过网络传输应用数据。应用消息通过MQT传输时’它们有关联的服务质量(QoS)和主题( Topic)客户粥C|ient使用MQπT的程序或设备。客户端总是通过网络连接到服务端。它可以发布应用消息给其它相关的客户端。●订阅以请求接受相关的应用消息。·取消订阅以移除接受应用消息的请求从服务端断开连接第一章-MQTT介绍服务端 Server个程序或设备,作为发送消息的客户端和请求订阅的客户端之间的中介σ服务端接受来自客户端的网络连接。接受客户端发布的应用消息。·处理客户端的订阅和取消订阅请求。转发应用消息给符合条件的已订阅客户端订 Subscription订阔包含一个主题过滤器( Topic Filter)和一个最大的服务质量(QoS)等级。订阅与单个会话( Session)关联。会话可以包含多于一个的订阅。会话的每个订阅都有一个不同的主题过主题名 Topic Name附加在应用消息上的一个标签’服务端巳知且与订阔匹配。服务端发送应用消息的一个副本给每一个匹配的容户端订阅。主题过滤器 Topic Filter订阅中包含的一个表达式,用于表示相关的一个或多个主题。主题过滤器可以使用通配符。会话 Session客户端和服务端之间的状态交互。一些会话持续时长与网络连接一样·另一些可以在客户端和服务端的多个连续网络连接间扩展。控制报文 MQTT Contro| Packet通过网络连接发送的信息数据包。MQTT规范定义了十四种不同类型的控制报文,其中一个( PUBLISH报文)用于传输应用消息。1.5数据表示 Data representations1.51二进制位Bits字节中的位从0到7。第7位是最高有效位’第0位是最低有效位。1.52整数数值 Integer data values整数数值是16位’使用大湍序( big-endian,高位字节在低位字节前面)。这意味着一个16位的字在网络上表示为最高有效字节(MSB),后面跟着最低有效字节(LSB)1.53UTF8编码字符串UTF8 encoded strings后面会描逑的控制报文中的文本字段编码为UTF8格式的字符串。UTF8[RFC3629]是一个高效的υ ncode字符编码格式’为了攴持基于文本的通信’它对ASC∏字符的编码做了优化第一章-MQTT介绍每一个字符串都有一个两字节的长度字段作为前缀,它给出这个字符串UTF8编码的字节数,它门在图例1.1UTF8编码字符串的结构中描述。因此可以传送的UTF-8编码的字符串大小有个限制,不能超过65535字节除非另有说明’所有的UTF-8编码字符串的长度都必须在0到65535字节这个范围内。图例1.1UTF8编码字符串的结构 Structure of ute8 encoded strings进制位7-0yte字符串长度的最高有效字节(MsB)byte 2字符串长度的最低有效字节(LSB)byte 3如果长度大于0,这里是UTF-8编码的字符数据。UTF-8编码字符串中的字符数据必须是按照 Unicode规范[ Unicode]定义的和在RFC3629[RFC3629]中重申的有效的UTF8格式。特別需要指出的是,这些数据不能包含字符码在U+D800和U+DFFF之间的数据。如果服务端或客户端收到了一个包含无效UTF-8字符的控制报文”它必须关闭网络连接[MQTT1.53-]。UTF-8编码的字符串不能包含空字符U+0000如果客户端或服务端收到了一个包含U+0000的控制报文’它必须关闭网络连接MQTT-1.53-2]数据中不应该包含下面这些 Unicode代码点的编码。如果一个接收者(服务端或客户端)收到了包含下列任意字符的控制报文,它可以关闭网络连接U+0001和U+00F之间的控制字符∪+007F和∪+009F之问的控制字符Unicode规范定义的非宇符代码点(例如U+ OFFFF)Unicode规范定义的保留字符(例如U+ OFFFF)UTF-8编码序列0XEF0xBB0XBF总是被解释为U+FEFF(零宽度非换行空白字符)’无论它出现在字符串的什么位置’报文接收者都不能跳过或者剥离它[MQTT-153-3]。非规范示例 Non normative example例如,字符串A是一个拉丁字母A后面跟着一个代码点U+2A6D4(它表示一个中日韩统表意文字扩展B中的字符)这个字符串编码如下图例12UTF8编码字符串非规范示例UTF-8 encoded string non normative example第一章-MQTT介绍Bit54byte 1字符串长度MSB(0x0O)00byte 2字符串长度LSB(0×05)byte 3A(0×41)00000bye4(0×F0)000byte 5(OXAA)00byte 6(0×9B)0byte 7(0×94)0001.6编辑约定 Editing conventions本规范用黃色高亮的文本标识一致性声明·毎个一致性声明都分配了一个这种袼式的引用:[MQTT××x-y]项目主页MQTT协议中文版第二章一MQTT控制报文格式第二章MQTT控制报文格式 MQTT ControPacket format目录第一章-个绍第二章一MQTT控制报文格式第三章一MQTT控制报文·第四章一操作行为第五章一安全第六章一使用 Websocket第七章一一致性目标附录B-强制性规范声明2.1MQTT控制报文的结构 Structure of an MQTTControl packetMQπT协议通过交換预定义的MQTT控制报文来通信。这一节描逃这些报文的格式。MQTT控制报文由三部分组成’按照图例2.1-MQ∏控制报文的结构描逃的顺序图例21-MQTT控制报文的结构Fixed header固定报头’所有控制报文都包含Variable header可变报头·部分控制报文包含Payload有效载荷·部分控制报文包含22固定报头 Fixed header每个MQTT控制报文都包含一个固定报头。图例2.2-因定报头的格式描逑了因定报头的格式图例22-固定报头的格式第二章一MQTT控制报文格式Bit65432byte 1MQTT控制报文的类型用于指定控制报文类型的标志位byte 2剩余长度221MQTT控制报文的类型 MQTT Control Packet type位置:第1个字节,二进制位7-4表示为4位无符号值,这些值的定义见表格2.1-控制报文的类型表格2.1-控制报文的类型名字值报文流动方向描述Reserved禁止保留CONNECT客户端到服务端客户端请求连接服务端CONNACK2服务端到客户端连接报文确认PUBLISH两个方向都允许发布消息PUBACK丙个方向都允许QoS1消息发布收到确认PUBREC5两个方向都允许发布收到(保证交付第一步)PUBREL两个方向都允许发布释放(保证交付第二步PUBCOMP7两个方向都允许QoS2消息发布完成(保证交互第三步)SUBSCRIBE8客户端到服务端客户端订阅请求SUBACK9服务端到户风请求摄文确认UNSUBSCRIBE10客户端到服务端客户端取消订阋请求UNSUBACK服务端到客戶端取消订阔报文确认PINGREQ12客户端到服务端跳请求PINGRESP13服务端到客户端心跳响应DISCON№ECT14客户端到服务端客户端断开连接Reserved15禁止保留222标志Fags固定报头第1个字节的剩余的4位[30]包含每个MQTT控制报文类型特定的标志,见表格22-标志位。表格2.2中任何标记为“保留”的标志位·都是保留给以后使用的·必须设置为表柊中出的值[MQT「-22.2-1。如果收到非法的标志’接收者必须关闭网络连接。有美错误处理的详细信息见4.8节MQTT2222]
- 2021-05-06下载
- 积分:1