Combine /fuse two images into one
6 ビュー (過去 30 日間)
古いコメントを表示
Hi all
I have two images . I want to combine them into one image .1st images has a size of 512x271

and the second image has a size of 512x271x512

I want to combine them into one image with size of 512x271x512 like last image

but I don't know how I can do this . I have used imfuse but its not working for me . any one help me in tis matter
0 件のコメント
採用された回答
Walter Roberson
2018 年 5 月 18 日
im1 = imread('one.JPG');
other_images = .... whatever is needed to read your 512x271x512 into an array
blend = 0.2;
mask1 = imbinarize(im1);
fused = other_images;
for slice = 1 : size(fused, 3)
this_slice = fused(:,:,slice);
this_slice(mask1) = this_slice(mask1) * (1-blend) * im1(mask1);
fused(:,:,slice) = this_slice;
end
Here, blend is the portion of the image that should be used at those locations, rather than just overwriting the pixels with the white line.
9 件のコメント
Walter Roberson
2018 年 5 月 18 日
The fused image should be making the edge in white unless your im1 is not really a JPEG image or unless your other_images is int16 or uint16 with a high range.
What is class(im1) and class(other_images) and max(im1(:)) and max(other_images(:)) ?
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Image Segmentation and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!