当前位置: 首页 > news >正文

MTB图像配准算法实现

一、背景介绍

        本篇主要是对论文:Fast, Robust Image Registration for Compositing High Dynamic Range Photographs from Hand-Held Exposures 的基本复现。

二、基本原理

        1、 通过将待配准的输入图像,自适应阈值的二值化处理,大幅度规避了亮度变化和噪声干扰对配准结果影响。

        2、多尺度从低频到高频,暴力八邻域相似度匹配,从粗到细来简单暴力的得到配准结果。

        3、所以本篇方法的配准数据只有平移,无法处理旋转或者缩放等情况,并且算法支持配准最大范围和金字塔层数正相关。

三、代码流程

        1、拿到待配准两张输入图像,并截取图像中心公共区域。

 

        2、将输入图像进行高斯金字塔拆分。

        3、计算每张图像均值,并以均值为阈值,图像图像二值化处理。

 

        4.1、拿到金字塔最顶层图像,参考帧保持不动,待配准图像在原图保持不变和往8邻域方向便宜一个像素,生成一共9张待配准图像。

        4.2、9帧图像分别和当前层参考帧计算相似性(都是二值图像,直接全图xor就能得到相似性误差),取最相似图像,该图像在8邻域上相对于原图的偏移,就表示当前层配准数据shift。

        4.3、下一层图像拿到上层配准数据shift后x2,并以该数据对当前层待配准图像进行偏移,偏移后图像和4.2一样操作,的到当前层配准数据shift2,合并最新配准数据shift = shit*2 + shift2,传给下一层,循环迭代,直达所有层图像数据处理完成,得到的最终shift即为最终配准结果。

 

四、代码实现

        简单代码复现如下,原始代码地址,搞忘了在哪下的了,我在其基础上稍微精简抽了下核心部分。

https://github.com/yulinghan/ImageQualityEnhancement/tree/master/image_registration/mtb

http://www.xdnf.cn/news/361639.html

相关文章:

  • Swagger 3.0 中注解详细示例
  • Linux云计算训练营笔记day05(Rocky Linux中的命令:管道操作 |、wc、find、vim)
  • linux mcelog inject注入
  • 21.第二阶段x64游戏实战-分析采集物偏移
  • C语言printf使用错误导致程序崩溃
  • 39-算法打卡-二叉树-基础知识-第三十九天
  • C#里创建一个MaterialDesign3的导航条
  • uni-app使用web-view组件APP实现返回上一页
  • 机器人手臂的坐标变换:一步步计算齐次矩阵过程 [特殊字符]
  • 商业 |阿里云又丢出了核弹
  • Webug4.0靶场通关笔记24- 第29关Webshell爆破
  • 华为OceanStor 5500 V3存储证书过期问题处理
  • 在SpringBoot中使用MQTT实现消息的订阅
  • Element-UI字体图标不显示
  • Oracle — 数据管理
  • LVGL源码学习之渲染、更新过程(2)---无效区域的处理
  • 电厂数据库未来趋势:时序数据库 + AI 驱动的自优化系统
  • 期货跟单软件如何对实盘进行风控?
  • go语言封装、继承与多态:
  • 【A2A】管中窥豹,google源码python-demo介绍
  • Go语言中 源文件开头的 // +build 注释的用法
  • 母亲节祝福网页制作
  • 推荐一个很方便的浏览器管理插件Wetab插件
  • 水印云:AI赋能,让图像处理变得简单高效
  • VSCode如何解决打开html页面中文乱码的问题
  • 工业软件自主化突围:RTOS 如何打破 “协议栈 - 控制器” 生态垄断
  • 零件画图实战提升案例(上)
  • 企业高性能WEB服务器—Nginx
  • 【论文阅读】基于客户端数据子空间主角度的聚类联邦学习分布相似性高效识别
  • 深度解析动态IP业务核心场景:从技术演进到行业实践