How to assign an image to another with a black frame?

1 次查看(过去 30 天)
I used the code given below to assign another picture to a black filled picture. The given picture has to fit into the black background at the center so that it looks as if it is framed.
But the result is:
1.JPG
I'd like the pic I loaded, (that is j) inside the box. I tried a lot! Please help! Many thanks in advance! :)
j=imread('1.jpg');
[na, nb, nc]=size(j);
b=40;
j_big=zeros(na+2*b, nb+2*b, nc);
j_big(b+1:b+na, b+1:b+nb, :)=j;
imshow(j_big);

采纳的回答

Image Analyst
Image Analyst 2019-3-2
Why not just use padarray()?
  1 个评论
Edwin Joy
Edwin Joy 2019-3-2
编辑:Edwin Joy 2019-3-2
Oh okay. Thank you!
But I still don't understand why I just get some pixels scattered around the image when I use the code mentioned. I even tried to use loops and copy pixel by pixel to find out the error but it's still giving me the same result.
EDIT:
Yay! I got it. Well it appeared when I changed the array to unsigned int8.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by