24小时热门版块排行榜    

查看: 1073  |  回复: 1

lightlc

金虫 (初入文坛)

[求助] 图像叠加的问题 已有1人参与

我用matlab画背景图,然后在背景图上添加一副小图。怎样才能准确定位添加的小图的位置?

clc
clear

Z=imread('F:/gwdata/2.png');
h1=axes('position',[0 0 1 1]);
imshow(Z,'parent',h1)

h2=axes('position',[0.1 0.1 0.5 0.5], 'parent',gcf);   %插入位置参数,x1,y1,width, height
Z2=imread('F:/gwdata/4.png');
imshow (Z2,'parent',h2);  %h2设定插入图片的位置。

我写的代码是这样的。通过h1和h2控制两幅图片的位置。但是问题来了h1和h2的坐标体系是不同的,如果图片大小不同,h的前面两位原点位置参数设置成一样也不会重合。更麻烦的是,如果我调整图片窗口,两幅图的相对位置会改变。 不知道这是怎么回事?
譬如:我想画一幅地图,然后把第二张图的左下角插到第一张图的 (0.25 0.25)的相对位置
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
https://www.mathworks.com/help/images/ref/imlincomb.html
CODE:
X = uint8([ 255 10 75; 44 225 100]);
Y = uint8([ 50 20 50; 50 50 50 ]);
Z = imdivide(imadd(X,Y),2)
Z =
   128    15    63
    47   128    75

CODE:
Z2 = imlincomb(.5,X,.5,Y)
Z2 =
   153    15    63
    47   138    75

2楼2016-10-16 17:50:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lightlc 的主题更新
信息提示
请填处理意见