Problem merging two images

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

 采纳的回答

Ben11
Ben11 2014-10-15
编辑:Ben11 2014-10-15
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 个评论

I use 2012a version and I got these errors:
Error using ones
Leading inputs must be numeric.
Error in Untitled2 (line 8)
blankImage = ones(round(height/5),width,Channels,'like',I);
Any reason why?
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');
Thanks, it working
ok great then!

请先登录,再进行评论。

更多回答(1 个)

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by