2016-05-09 120 views
0

嘿,我试图把彩色边框围绕在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)); 

我得到的是块彩色图像,也许我只是想念一些小事,我做错了什么?

回答

2

在你for -loop,你与mn索引,而不是ij。变量mn是常量,这意味着您只需在代码中设置一个像素的值。

尝试这样的:

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

哦,亲爱的,我知道这一定是简单的东西,我傻!非常感谢你。 :) – NylePudding

相关问题