what does this line of code means bwZ = [zeros(1,c+1);[zeros(r,1) bw]]; ??
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
bw=imread('connected.pgm')./255;
%bw=[0 1 0 0 1 1;
% 1 1 1 0 0 0;
% 0 0 1 0 0 1;
% 1 1 0 0 1 1;
% 0 0 0 1 0 0;];
[r,c] = size(bw);
bwZ = [zeros(1,c+1);[zeros(r,1) bw]];
i dont understand this line of code :
bwZ = [zeros(1,c+1);[zeros(r,1) bw]];
0 comentarios
Respuestas (1)
Walter Roberson
el 2 de Abr. de 2013
The line adds a row of zeros along the top, and a column of zeros along the side, of bw.
Another way of expressing it would have been:
bwZ = zeros(r+1, c+1, class(bw));
bwZ(2:end, 2:end) = bw;
3 comentarios
Walter Roberson
el 3 de Abr. de 2013
It can make the search algorithm easier to write.
For example, if the task were to find the beginning of each "pulse" in a vector of 0 and 1 values, then one way to do that is to search for places in which you have 0 (non-pulse) followed by 1 (pulse). But that search algorithm would fail if the first item in the vector was a 1, as there is no 0 before it. A solution to that is to put a 0 before the vector and then you would not need special code to handle the situation.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!