考虑到python通过for循环实现加权平均融合效率比较低,本文采用矩阵运算的形式实现加权平均融合。其中加权平均融合的公式如下:

是融合图像,是需要拼接的两幅图像,是渐入渐出法中的权重,权重的计算公式如下:

也就是上面的两个公式,挺简单的,相对于C++而言,用python实现加权平均融合的矩阵运算更加容易理解。直接上结果图,以下是加权平均融合之前与融合之后的对比。

加权平均融合前对比融合后,拼接的折痕消失了 ,这就是加权平均融合的作用所在。

具体上python代码:

    def removal_seam(self, img_trans, img_targ, transform_corners, threshold=20):# img_trans warpPerspective image# img_targ target image# transform_corners the 4 corners of warpPerspective image# corners_orig = np.array([[0, 0, 1],#                         [0, img.shape[0], 1],#                         [img.shape[1], 0, 1],#                         [img.shape[1], img.shape[0], 1]])# obtain 4 corners from T transform  pano = copy.deepcopy(img_trans)pano[0:img_targ.shape[0], 0:img_targ.shape[1]] = img_targx_right = img_targ.shape[1]x_left = int(min(transform_corners[0, 0], transform_corners[0, 1]))rows = pano.shape[0]# calculate weight matrixalphas = np.array([x_right - np.arange(x_left, x_right)] * rows) / (x_right - x_left)alpha_matrix = np.ones((alphas.shape[0], alphas.shape[1], 3))alpha_matrix[:, :, 0] = alphasalpha_matrix[:, :, 1] = alphasalpha_matrix[:, :, 2] = alphas# common area one image no pixelsalpha_matrix[img_trans[0:rows, x_left:x_right, :] <= threshold] = 1img_targ = pano[:, 0:img_targ.shape[1]]pano[0:rows, x_left:x_right] = img_targ[0:rows, x_left:x_right] * alpha_matrix \+ img_trans[0:rows, x_left:x_right] * (1 - alpha_matrix)retrun pano

为了更好理解removal_seam函数,有必要绘制一个简单的示意图(关于img_trans, img_targ)。img_trans的变换需要通过特征匹配计算变换矩阵T,特征提取可以选择为SIFT、SURF、ORB等。

参考code:YMilton/multi_video_stitching: multi realtime video stitching,contain global and local alignment, opencv stitching, search optimal seam, etl. For real-time video stitching reference. (github.com)

python加权平均融合矩阵运算(Image Stitching 1)相关推荐

  1. 加权平均融合消除图像拼接的拼缝(Python 代码)

    这里提供一种采用加权平均融合消除图像拼缝的算法,供大家使用. https://blog.csdn.net/xiaoxifei/article/details/103045958 如下图所示,如果两张图 ...

  2. python中numpy矩阵运算操作大全(非常全)!

    python中numpy矩阵运算操作大全(非常全) //2019.07.10晚 python矩阵运算大全 1.矩阵的输出形式: 对于任何一个矩阵,python输出的模板是: import numpy ...

  3. python未知数的矩阵运算_python如何进行矩阵运算

    python进行矩阵运算的方法: 1.矩阵相乘 >>>a1=mat([1,2]); >>>a2=mat([[1],[2]]); >>>a3=a1* ...

  4. ArcGIS Pro地理空间数据处理完整工作流实训及python技术融合深度

    [原文]:ArcGIS Pro地理空间数据处理完整工作流实训及python技术融合深度应用 <第一章.ArcGIS Pro基础 >: ArcGIS Pro 安装与配置 ArcGIS Pro ...

  5. python矩阵运算实例_Python矩阵常见运算操作实例总结 python 怎么实现矩阵运算

    python 怎么查看一个矩阵的维数你是知道的,等你,我已经栖息了疲惫的憧憬,夜夜抚慰残梦的翅膀. 都是复制党,百度知道回答真的质量太低了,真的很心疼,言归正传 利用numpy分享矩阵维数: impo ...

  6. python数组与矩阵运算

    python数组与矩阵运算 本文内容 numpy数组和矩阵的建立 numpy数组和矩阵的运算 numpy array维度 reference 本文内容 初学python试图通过矩阵简化运算,感谢网友智 ...

  7. 基于Python的加权平均融合实现图像全景拼接且去除缝隙

    目标: 将数张有重叠部分的图像通过特征点检测,匹配,图像变换拼成一幅无缝的全景图. 待拼接的上方图片 待拼接的下方图片 #拼接成功后的图片 在图像拼接中首先利用SIFT算法提取图像特征进而进行特征匹配 ...

  8. 【Python】机器学习矩阵运算必学库Numpy首秀!

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 开始更新numpy相关的文章,本文介绍numpy中的25个小案例,主要内容是如何利用numpy来生成向量(一维数组),矩 ...

  9. python矩阵计算_PYTHON 矩阵运算

    python 矩阵运算 第一次看见 Python 的运行感觉就让我想起了 matlab, 于是就上网嗖嗖他在矩阵方面的运算 如何,如果不想安装 Matlab 那么大的软件,而你又只是想计算些矩阵,py ...

最新文章

  1. 永洪科技携手华为构建金融智慧运营与商业智能方案,解决金融敏捷分析难题
  2. kaggle中的MAP理解
  3. java web mvc 拆分_JAVA WEB初接触——简单的MVC架构
  4. java中使用openssl生成的rsa公私钥进行数据加解密_使用openssl生成RSA公钥和私钥对...
  5. 台式计算机机箱都一样吗,别以为组装台式机很简单,机箱选择大有学问
  6. android导航屏幕,发现具有软件导航栏的Android设备的真实屏幕尺寸(以像素为单位)...
  7. 网站免费空间和服务器的区别,网站空间和服务器的区别
  8. 实用常识 | 将桌面文件移动到其他硬盘内
  9. Spring Boot应用的打包和部署
  10. 第一课--BD的使用
  11. java对公项目_5个让人激动的Java项目
  12. 计算机应用实训任务与要求怎么写,计算机应用基础项目实训任务
  13. Java虚拟机之HotSpot虚拟机
  14. 电视助手 Android,无屏助手TV版|无屏助手电视版 V4.0.3 安卓版 下载_当下软件园_软件下载...
  15. 笔记本更改计算机开机时用户名和密码错误,怎样修改联想电脑开机账号密码怎么办...
  16. 计算机键盘上的符号英语怎么说,电脑键盘上特殊符号和标点符号名称的输入方法汇总...
  17. CCF所有领域best paper合集!发顶会论文必看!中国计算机学会推荐会议的Best paper~
  18. 闭着眼学基础python 保姆教程:组合数据类型(2)映射与集合类型
  19. [紧急通告]关于蓝色理想经典论坛无法访问的声明
  20. Field usersMapper in com.example.test.impl.UsersServiceImpl required a bean of type ‘com.example.tes

热门文章

  1. 中国企业服务产业:七年了,七个人
  2. 腾讯近三年 78 道软件测试面试 题(包含答案)
  3. 浅析——ExpandableListView的使用
  4. 戴尔移动工作站 Precision7540拆机简介(2个 M.2 2280+1个2.5英寸)
  5. Android技术馆系列之:Android 碎片的介绍
  6. mysql集群session_PHP集群session共享
  7. html工厂函数,jQuery的工厂函数$()的妙用
  8. 花椰菜的 8 大健康益处,为你一一盘点
  9. 递归回溯算法一文读懂详解图文
  10. 思特威车规级图像传感器再添新芯SC120AT,集成ISP二合一功能闪亮登场