在MATLAB中围绕图像绘制彩色边框?

时间:2016-05-09 08:47:44

标签: matlab

嘿我试图在MATLAB中为图像添加彩色边框,但我无法理解为什么这不起作用:

clear, close all, clc

A = imread('syd.jpg')

[m n o] = size(A)
border_width = 25;

border = zeros(m+(border_width*2),n+(border_width*2),3);

c = [randi(255) randi(255) randi(255)];

border(:,:,1) = c(1);
border(:,:,2) = c(2);
border(:,:,3) = c(3);

for i = 1 : m
    for j = 1 : n
        border(m+border_width,n+border_width,:) = A(m,n,:);
    end
end

imshow(uint8(border));

我得到的只是一块彩色图像,也许我只是错过了一些小的东西,我做错了什么?

1 个答案:

答案 0 :(得分:2)

for - 循环中,您使用mn编制索引,而不是ij。变量mn是常量,这意味着您只需在代码中设置一个像素的值。

试试这个:

for i = 1 : m
    for j = 1 : n
        border(i+border_width,j+border_width,:) = (A(i,j,:));
    end
end