Combine images in matlab with transparency
显示 更早的评论
Hi could anyone among you give me the code on how to combine images
If this is Image(A)

& this is Image(B)

so is it possible to create an image like the one shown below in MATLAB (produced using photoshop) I yes, pease tell me how as i want the appe only to show and the rest to be fully balck or white thanks

采纳的回答
更多回答(3 个)
Joseph Cheng
2014-4-19
编辑:Joseph Cheng
2014-4-19
If you have the 2nd image (background 0's and apple areas 1) lets call that MASK, and let's call the apple image APPLE.
JustApple = zeros(size(APPLE));
JustApple(MASK) = APPLE(MASK);
if MASK is type logical then above will work. If MASK is not logical and just a matrix of 1s and 0s then JustApple(logical(MASK)) = APPLE(logical(MASK));
3 个评论
Saqib
2014-4-20
Image Analyst
2014-4-20
His code assumes you have the mask already . My code shows you how to get the mask. It displays the mask for you to see in the lower middle, and it also gets the "JustApple" image as you can see from the lower right image in my screenshot.
Saqib
2014-4-20
#
Suppose:
# A=Name1.bmp;
J = imread(A);
I=rgb2gray(J);
[sz1,sz2]=size(I);
K=zeros(sz1,sz2);
for a=1:2:sz1
for b=1:2:sz2
M=I(a:a+1,b:b+1);
if sum(M(:))>=1000 %I chose white, but you may choose whatever color you want
K(a:a+1,b:b+1)=255;
end
end
end
set(gcf,'Color','None')
# B=Name2.tiff; % (transparent, obtained like Jonas
( <https://stackoverflow.com/questions/13660108/matlab-how-to-save-tiff-with-transparency-or-png-with-no-compression> ) but change "ch" with "K"
#
# Then:
# testbmp=imread('Name1.bmp');
# testtiff=imread(Name2.tiff');
# testbmp(:,:,4)=testtiff(:,:,4);
# imwrite(testbmp,'transparent_fusion.tiff');
1 个评论
Image Analyst
2014-9-7
Horia, we have no idea what this is. Please start a new discussion on it and paste the link back here.
类别
在 帮助中心 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
