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!
