您好我有一个二进制变量(名为'列'大小为733x1),我正在尝试更改介于0和1之间的0到1' s(即00001110011 ...至00001111111 ...)。我曾尝试使用imfill,但一直无法这样做。我已经将它从逻辑类型转换为uint8来帮助,但它还没有工作。
column=column*255 % convert to form to work with 'imfill' command
column_fill=uint8(column)
column_fill=imfill(column);
然而,在我的变量中的1到1之间,我仍然有几个0,我想摆脱它。 Link to data。输出(从000..000111000011101 ...到000..000111111111111 ...)谢谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
尝试以下示例:
load data
column=column100*255 % convert to form to work with 'imfill' command
%Create column filled with 255 values.
white_column = ones(size(column))*255;
%Padd column from both sides (create 3 columns image).
im = [white_column, column, white_column];
%Apply imfill on image im
im_fill = imfill(uint8(im));
%Extract center column of im_fill.
column_fill = im_fill(:, 2);
您也可以在不使用imfill
的情况下尝试以下代码:
column_fill = column100;
column_fill(find(column100 == 1, 1):find(column100 == 1, 1, 'last')) = 1;