how to put border on the image over top and bottom

9 views (last 30 days)
i have sucessfully implemented the border on left and right but unable to do on top and bottom
code that i have used for this program is
a = imread('imagea.jpg');
b = imread('imageb.jpg');
close all;
[y,x,c] = size(a);
c = uint8(zeros(y,10,c));
d=[a,c,b];
c(:,:,1) = 255;
d=[c,a,c,b,c];
imshow(d);
Out put result of this is like that
left_right_border.jpg
now i want border on top and bottom, but no progress

Answers (2)

Bryan
Bryan on 24 Nov 2019
could you not just do
plot([min(xlim) max(xlim)],[max(ylim) max(ylim)], 'r-', 'linewidth', 2)
plot([min(xlim) max(xlim)],[min(ylim) min(ylim)], 'r-', 'linewidth', 2)

Akira Agata
Akira Agata on 26 Nov 2019
Assuming "imagea.jpg" and "imageb.jpg" have the same size, how about the following?
a = imread('imagea.jpg');
b = imread('imageb.jpg');
sz = size(a);
Iab = [a,b];
figure
imshow(Iab)
hold on
rectangle(...
'Position', [1 1 sz(2)-1 sz(1)-1],...
'LineWidth',2,...
'EdgeColor','r')
rectangle(...
'Position',[sz(2) 1 sz(2)-1 sz(1)-1],...
'LineWidth',2,...
'EdgeColor','r')

Community Treasure Hunt

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

Start Hunting!