【图像拼接】基于块匹配算法实现全景图像拼接matlab代码

阅读: 评论:0

图像拼接】基于块匹配算法实现全景图像拼接matlab代码1简介
本⽂所要研究的问题是通过对图像进⾏匹配与融合,实现同⼀场景的两张图⽚的全景拼接。⾸先对图像进⾏采集,因采集的图⽚会受环境因素影响⽽存在很多质量问题,若直接进⾏图像拼接,拼接结果会很不理想,因此需要对图像进⾏相关的预处理以提⾼图像的质量。利⽤SAD 算法实现块匹配,利⽤加权平均法对图像进⾏融合,最终实现全景图像⽆裂缝、⽆⿁影的拼接。实现全景图像拼接的流程如图 1 所⽰。想要进⾏图像拼接,那么⾸先是要准备拼接的图像。图⽚采集的基本⽅法有以下⼏种:旋转式相机拍摄、⼿持式相机拍摄和平移式相机拍摄。在图像采集过程中,因为光照,拍摄场景的问题,图⽚中可能存在⼀定的噪声,要想得到效果好的拼接图⽚,在拼接前要对图像进⾏去燥处理。图像去燥具体⽅法有:均值滤波器、⾃适应维纳滤波器、中值滤波器、形态学噪声滤波器、⼩波去燥[4]。中值滤波器的响应是基于滤波器包围的像素的灰度值的中值,⽤滤波器包围的图像区域的灰度值代替某个像素点的滤波结果。这是⼀个⾮线性滤波器。
2 部分代码
function [MStitch, result] = RGBListMain_Process(file)
for i = 1 : length(file)-1
if i == 1
file1 = file{i};
im1 = imread(file1);
im1 = rgb2gray(im1);
MStitch.im1 = double(im1);
[Pheight, Pwidth] = size(im1);
MStitch.Pwidth = Pwidth;
MStitch.Pheight = Pheight;
MStitch.W_min = round(0.60*Pwidth);
MStitch.W_max = round(0.83*Pwidth);
MStitch.H_min = round(0.98*Pheight);
MStitch.minval = 255;
im1 = imread(file1);
如何采集数据
MStitch.imrgb1 = double(im1);
im1 = rgb2gray(im1);
MStitch.im1 = double(im1);
else
注塑机联网烤肉炉子>水利u型槽成型机MStitch.im1 = double(result1);
end
file2 = file{i+1};
im2 = imread(file2);
MStitch.imrgb2 = double(im2);
im2 = rgb2gray(im2);
im2 = double(im2);
[W_box, H_box, bdown, MStitch] = Fun_Match(im2, MStitch); [MStitch, result1] = Fun_StitchRGB(im2, W_box, H_box, bdown, MStitch); end
表面曝气机
result = result1;
3 仿真结果
自锁器
4 参考⽂献
[1]曾恬恬, & 吴建清. 基于matlab的图像拼接技术及其实现. 海南师范⼤学学报:⾃然科学版, 34(1), 10.部分理论引⽤⽹络⽂献,若有侵权联系博主删除。
5 MATLAB 代码与数据下载地址
见博客主页

本文发布于:2023-06-19 17:06:42,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/144908.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   拼接   实现
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图