在matrice matlab中制作nan条带

时间:2015-06-02 07:54:58

标签: matlab image-processing matlab-figure

我的图片大小为(m x n x 4)我想在其上删除0NaN。我希望条带宽4像素,并且它们之间的间隔大约为30像素。那是当我在RGB中显示图像时,我有NaN条。请问有人帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我将问题解释为"如何在图像上重复绘制具有给定宽度和指定偏移的黑线"。

img = imread('peppers.png');
height = size(img,1);
strip_width = 4;
strip_offset = 30;

line_start_idx = 0:(strip_width+strip_offset):height;
line_idx = ndgrid(line_start_idx,1:strip_width)';
line_idx = line_idx(:);
line_add = repmat(1:strip_width,1,length(line_start_idx))';
line_idx = line_idx + line_add;

img(line_idx,:,:) = 0;
imshow(img)

image with black lines drawn repeatedly