function [ img_b,old_centre ] = image_blending( img1,img2,H )
[ img_b ,old_centre] = image_widen( img1,img2,H );
siz=size(img_b);
siz_origin=size(img1);
%[x_b,y_b]=meshgrid(1:siz(1),1:siz(2));
[y_b,x_b]=meshgrid(1:siz(1),1:siz(2));
x_b=x_b(:);y_b=y_b(:);
T_1tob=ones(3,siz(1)*siz(2));
T_1tob(1,:)=x_b(:)-old_centre(2);
T_1tob(2,:)=y_b(:)-old_centre(1);
T_1tob=inv(H)*T_1tob;
T_1tob(1,:)=round(T_1tob(1,:)./T_1tob(3,:));
T_1tob(2,:)=round(T_1tob(2,:)./T_1tob(3,:));
for q=1:siz(1)*siz(2)
if(T_1tob(1,q)<1||T_1tob(1,q)>siz_origin(2)||T_1tob(2,q)<1||T_1tob(2,q)>siz_origin(1))
continue;
end
if(img_b(y_b(q),x_b(q),1)~=0)
continue;
end
for k=1:3
img_b(y_b(q),x_b(q),k)=img1(T_1tob(2,q),T_1tob(1,q),k);
%disp(img1(T_1tob(1,q),T_1tob(2,q),k));
end
end
function [ img_b,old_centre ] = image_widen( img1,img2,H )
% determine the size of combined image
img_b=img2;
siz1=size(img1);siz2=size(img2);
w1=siz1(2);h1=siz1(1);w2=siz2(2);h2=siz2(1);
corner_r=[H*[1,1,1]',H*[w1,1,1]',H*[1,h1,1]',H*[w1,h1,1]']';
for i=1:4
corner_r(i,1:2)=corner_r(i,1:2)/corner_r(i,3);
end
%
corner_r=sortrows(corner_r,1);
temp=corner_r(1,:);
y_min=temp(1);% x min
temp=corner_r(4,:);
y_max=temp(1);% x max
corner_r=sortrows(corner_r,2);
temp=corner_r(1,:);
x_min=temp(2);% y min
temp=corner_r(4,:);
x_max=temp(2);% y max
old_centre=ones(2,1);
if x_min<=0
img_b = padarray(img_b, [ceil(-x_min+10), 0], 'pre');
old_centre(1)=round(-x_min+10);
end
if x_max>h2
img_b = padarray(img_b, [ceil(x_max-h2+10), 0], 'post');
end
if y_min<=0
img_b = padarray(img_b, [0,ceil(-y_min+10)], 'pre');
old_centre(2)=round(-y_min+10);
end
if y_max>w2
img_b = padarray(img_b, [0,ceil(y_max-w2+10)], 'post');
end
end
end
function [newH, newW, x1, y1, x2, y2] = getNewSize(transform, h2, w2, h1, w1)
[X,Y] = meshgrid(1:w2,1:h2);
AA = ones(3,h2*w2);
AA(1,:) = reshape(X,1,h2*w2);
AA(2,:) = reshape(Y,1,h2*w2);
% DETERMINE THE FOUR CORNER OF NEW IMAGE
newAA = transform\AA;
new_left = fix(min([1,min(newAA(1,:)./newAA(3,:))]));
new_right = fix(max([w1,max(newAA(1,:)./newAA(3,:))]));
new_top = fix(min([1,min(newAA(2,:)./newAA(3,:))]));
new_bottom = fix(max([h1,max(newAA(2,:)./newAA(3,:))]));
newH = new_bottom - new_top + 1;
newW = new_right - new_left + 1;
x1 = new_left;
y1 = new_top;
x2 = 2 - new_left;
y2 = 2 - new_top;
end
没有合适的资源?快使用搜索试试~ 我知道了~
基于Harris角点的图像配准拼接得到室内三维全景图matlab仿真
共62个文件
jpg:45个
m:13个
fig:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 198 浏览量
2022-10-28
05:32:03
上传
评论
收藏 31.87MB RAR 举报
温馨提示
1.版本:matlab2021a,我录制了仿真操作录像,可以跟着操作出仿真结果 2.领域:室内三维全景图 3.内容:基于Harris角点的室内多视角图像配准拼接得到室内三维全景图matlab仿真 4.适合人群:本,硕等教研学习使用
资源推荐
资源详情
资源评论
收起资源包目录
基于Harris角点提取的室内多视角图像配准拼接得到室内三维全景图matlab仿真.rar (62个子文件)
基于Harris角点提取的室内多视角图像配准拼接得到室内三维全景图matlab仿真
43.jpg 57KB
223.jpg 65KB
42.jpg 69KB
matlab
adj_2wice2.jpg 65KB
img
8.JPG 1.58MB
2.JPG 1.43MB
5.JPG 1.39MB
6.JPG 1.38MB
4.JPG 1.43MB
.DS_Store 6KB
1.JPG 1.55MB
9.JPG 1.58MB
3.JPG 1.43MB
7.JPG 1.33MB
直方图调整效果
mix_origin.fig 7.68MB
adj1.jpg 65KB
adj2.jpg 62KB
直方图对比.jpg 62KB
adj6.jpg 53KB
adj4.jpg 62KB
adj9.jpg 70KB
mix_adj.fig 6.07MB
adj3.jpg 58KB
adj8.jpg 69KB
adj7.jpg 53KB
mix_origin.jpg 63KB
mix_adj.jpg 71KB
adj5.jpg 55KB
MixedImg.jpg 87KB
func
MIX_selected.m 355B
est_homography.m 257B
Harris_detector.m 910B
tempsave.m 1KB
MIX.m 596B
ransac_est.m 1KB
adjustGrayScale.m 1KB
ransac_est_homography.m 782B
est_transformation.m 493B
Harris_match.m 632B
adj_hsv.m 435B
image_blending.m 3KB
adj_2wice7.jpg 55KB
Runme.m 1KB
adj_2wice5.jpg 53KB
adj_2wice8.jpg 73KB
adj_2wice4.jpg 54KB
adj_2wice3.jpg 58KB
img123456789.jpg 246KB
adj_2wice1.jpg 65KB
adj_2wice6.jpg 53KB
hsv_adj
hsv_adj4.jpg 50KB
hsv_adj1.jpg 58KB
hsv_adj7.jpg 44KB
hsv_adj8.jpg 61KB
hsv_adj5.jpg 50KB
hsv_adj9.jpg 61KB
hsv_adj3.jpg 54KB
hsv_adj2.jpg 58KB
hsv_adj6.jpg 44KB
adj_2wice9.jpg 73KB
1111.jpg 37KB
操作录像0034.avi 6.58MB
共 62 条
- 1
资源评论
- weixin_440172652024-03-31资源和描述一致,质量不错,解决了我的问题,感谢资源主。
fpga和matlab
- 粉丝: 15w+
- 资源: 2548
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 二叉树7-1-1.cpp
- android 9.0 原生模拟器 签名文件
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
- MyBatis动态SQL.pdf
- 基于stm32单片机protues仿真的温湿度控制系统设计(仿真图、源代码)
- 词向量:自然语言处理的基石
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功