MATLAB Answers

Problem merging two images

조회 수: 3(최근 30일)
hu
hu 15 Oct 2014
Hi,
Why I can not merge these two images?
I = imread('peppers.png');
[height, width] = size(I);
blankImage = ones(height/5,width,3);
combineImg = [I; blankImage]
imshow(combineImg);
Thanks

  댓글 수: 0

로그인 to comment.

채택된 답변

Ben11
Ben11 15 Oct 2014
편집: Ben11 15 Oct 2014
This will work:
clc
clear
close all
I = imread('peppers.png');
[height, width,Channels] = size(I)
blankImage = ones(round(height/5),width,Channels,'like',I);
combineImg = [I; 255*blankImage];
imshow(combineImg);
First you needed to round the height dimension, and then since the image is RGB it has 3 channels, so the 3rd output of 'size' is 3, hence you had a conflict when trying to concatenate.
Here is what I got as output. Notice that there is a white image at the bottom but it does not show up well here. Try it in Matlab and it will work.
EDIT: Here is what it look like with a black blankImage.To get it, change
combineImg = [I; 255*blankImage];
with
combineImg = [I;blankImage];
Output:

  댓글 수: 4

표시 이전 댓글 수: 1
Ben11
Ben11 15 Oct 2014
mhh nope! I'm using 2014a; maybe in 2012 you can't use 'like' to cast the image as the same type as the original. What if you use this:
blankImage = ones(round(height/5),width,Channels,'uint8');
hu
hu 15 Oct 2014
Thanks, it working
Ben11
Ben11 15 Oct 2014
ok great then!

로그인 to comment.

추가 답변(1개)

Karbala'a Unvi. Science
hi every one I have a cropped image from the original image. The cropped one is processed. Now I want to reteren that part to the original image.. the processing on the cropped image is not to much, it will not change so many things in the cropped image. Need for the help as fast as you can

  댓글 수: 0

로그인 to comment.

이 질문에 답변하려면 로그인을(를) 수행하십시오.

태그


Translated by