Borrar filtros
Borrar filtros

removing border pixels in a binary image

5 visualizaciones (últimos 30 días)
Apoorva Maiya
Apoorva Maiya el 13 de Mayo de 2020
Respondida: Apoorva Maiya el 17 de Mayo de 2020
Hello all, below is a binary image
i want to remove the border pixels as shown in red (i used paint to highlight ) in the below image
I cannot use imclearborder for this task as it eliminates any pixel attactched to the border too. So i was thinking we could write a loop and set the first and last white oixel in each row to zero. I am not quite sure how to write the loop. Can anyone help me with this problem?
  9 comentarios
Apoorva Maiya
Apoorva Maiya el 15 de Mayo de 2020
hey, below is the same image after skeletonization
I have managed to get the rightmost and leftmost white pixel in each row with the following code:
B = bwskel(img);
[rows,col]=size(B);
rightEdgeColumn = zeros(1,rows);
leftEdgeColumn=zeros(1,rows);
for row=1:rows
col1 = find(B(row, :), 1, 'last');
col2 = find(B(row, :), 1, 'first');
if ~isempty(col1) && ~isempty(col2)
rightEdgeColumn(row) = col1;
leftEdgeColumn(row) = col2;
end
end
Can anybody help me set those pixels to zero? I want the pixels in rightEdgeColumn and LeftEdgeColumn to be zero. Thank you in advance.
Apoorva Maiya
Apoorva Maiya el 17 de Mayo de 2020
thank you all for your response, i was able to write the code myself.

Iniciar sesión para comentar.

Respuesta aceptada

Apoorva Maiya
Apoorva Maiya el 17 de Mayo de 2020
B = bwskel(img); %skeletonized image
[rows,col]=size(B);
%% finding right edge and left edge
rightEdgeColumn = zeros(1,rows);
leftEdgeColumn=zeros(1,rows);
for row=1:rows
col1 = find(B(row, :), 1, 'last');
col2 = find(B(row, :), 1, 'first');
if ~isempty(col1) && ~isempty(col2)
rightEdgeColumn(row) = col1;
leftEdgeColumn(row) = col2;
end
end
%%removing the edge pixels
for i=1:length(rightEdgeColumn)
k=rightEdgeColumn(i);
if k==0 %% if the whole row has no white pixels
B(i,:)=0;
else
B(i,k)=0;
end
end

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by