How to merge two images of different sizes ??

31 ビュー (過去 30 日間)
Amit  Verma
Amit Verma 2017 年 12 月 12 日
回答済み: Image Analyst 2017 年 12 月 13 日
How to merge two images of different sizes so that the resultant merged image contains bigger image contains smaller image at a specific location in bigger image ??

採用された回答

Michal Dobai
Michal Dobai 2017 年 12 月 13 日
You can just index elements in bigger image and assign them values of smaller image.
combinedImage = biggerImage;
s = size(smallerImage);
combinedImage(x:x+s(1)-1, y:y+s(2)-1, :) = smallerImage;
This example works only if smaller image fits entirely into bigger image after placed to specific location!
If you want be able to put smaller image to location that part of it will be outside of bigger image, you have to handle this case properly. There are more options you can do. You can extend bigger image (and set some background color) or crop smaller image.
Whole example code:
% 'specific location' point
x = 123;
y = 274;
% create example images
biggerImage = rand(512,512,3);
smallerImage = ones(64,64,3);
% merge images
combinedImage = biggerImage;
s = size(smallerImage);
combinedImage(x:x+s(1)-1, y:y+s(2)-1, :) = smallerImage;
imshow(combinedImage);
Result:

その他の回答 (1 件)

Image Analyst
Image Analyst 2017 年 12 月 13 日
See my copy and paste demos to paste rectangular and freehand images onto a larger image.

カテゴリ

Help Center および File ExchangeCamera Calibration についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by