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

多曝光融合算法(三)cv2.createAlignMTB()多曝光图像融合的像素匹配问题

文章目录

    • 1.cv2.createAlignMTB() 主要是计算2张图像的位移,假设位移移动不大
    • 2.多曝光图像的aline算法:median thresold bitmap原理讲解
    • 3.图像拼接算法stitch
    • 4.多曝光融合工具箱

1.cv2.createAlignMTB() 主要是计算2张图像的位移,假设位移移动不大

而且计算的是全局的位移

参考下面的链接:
https://blog.csdn.net/LuohenYJ/article/details/89712234
https://blog.csdn.net/LuohenYJ/article/details/89840655
https://docs.opencv.org/4.x/d2/df0/tutorial_py_hdr.html
方便理解

使用代码:

print("Aligning images ... ")
alignMTB = cv2.createAlignMTB()
alignMTB.process(img_list, img_list)

2.多曝光图像的aline算法:median thresold bitmap原理讲解

https://blog.csdn.net/weixin_44735951/article/details/88941012

在这里插入图片描述

  1. 转换为灰度图或者利用G通道

  2. 利用均值或者中值,作为阈值得到二值图像。之所以不用sober,canny是因为不同曝光下检测到的边缘一致性比较低。

  3. 计算均值和中值的时候,对于严重过曝或者过暗的图像,可能因为大量的255,0像素导致 计算的均值 接近255和0。一个更鲁棒的方法计算均值或者中值是 排除 250以上或者5以下的像素

  4. 接下来就是通过阈值图像进行异或运算,这样差异为1。那么我们通过遍历其中一个图像的位移dx,dy,计算 error_sum, 寻找最恰到的dx,dy

  5. 考虑到dx,dy可能太大,利用金字塔减少计算量,从最后一层开始,每次搜索范围就是 [-1,1]很小
    在这里插入图片描述

  6. 异或运算计算差异的时候还有一个问题是 在均值附近的一些区域,两张不同曝光的图像的二值图可能被引入一些噪声,此时可以计算图像的 exclusion mask,标记,在均值[-4,4]的区域。 这两张曝光图的exclusion mask 和 xor异或运算得到差异图 再进行与运算,得到更清晰的差异。
    在这里插入图片描述

3.图像拼接算法stitch

http://www.s1nh.org/post/A-survey-on-image-mosaicing-techniques/

如图所示,图像拼接分为四个步骤:图像匹配(registration)、重投影(reprojection)、缝合(stitching)和融合(blending)。

stitch中的配准 主要是不同视角的图像重合区域不会太大,主要是根据特征点求转换矩阵。

而视频前后帧这种配准,小位移,重合区域多,主要利用光流。

还有特殊的图像就是多帧曝光,小位移,重合区域多,但是亮度差异有点大。

4.多曝光融合工具箱

https://github.com/Galaxies99/AlignHDRToolkit

介绍了一些配准方法。

http://www.lryc.cn/news/367831.html

相关文章:

  • C/C++|类型推导中的模式匹配
  • The 18th Northeast Collegiate Programming Contest(5/9/13)
  • Vue前端在线预览文件插件
  • 【ai】Audio2Face
  • 2024.6.9 一
  • 地图之战争迷雾/地图算法/自动导航(一)
  • 【wiki知识库】06.文档管理页面的添加--前端Vue部分
  • 新电脑必装的7款软件,缺一不可
  • 程序员学习Processing和TouchDesigner视觉编程相关工具
  • gitlabcicd-k8s部署gitlab
  • 浅谈JDBC
  • 【数据结构初阶】--- 顺序表
  • 一个完整的java项目通常包含哪些层次(很全面)
  • 设置电脑定时关机
  • Java 编译报错:找不到符号? 手把手教你排查解决!
  • Gitte的使用(Windows/Linux)
  • c++之旅第十弹——IO流
  • 量化交易:Miniqmt获取可转债数据和交易python代码
  • 测试开发之自动化篇 —— 使用Selenium IDE录制脚本!
  • Django 外键关联数据
  • 开源与新质生产力
  • 如何将 Windows图片查看器的背景颜色改成浅色(灰白色)?
  • k8s-pod参数详解
  • 一些计算机网络面试题
  • transformer - 注意力机制
  • 三端植物大战僵尸杂交版来了
  • np.hstack()和np.vstack()函数解释
  • 【Linux】进程5——进程优先级
  • CNN简介与实现
  • 【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构