Attempting to Crop binary image

I want the white section of this image I took,
I used this code to attempt a crop,
[rows, columns] = find(ProperlyOrientedBinaryBlock);
topRow = min(rows);
bottomRow = max(rows);
leftColumn = min(columns);
rightColumn = max(columns);
croppedImage = ProperlyOrientedBinaryBlock(topRow:bottomRow, leftColumn:rightColumn);
imshow(croppedImage)
I'm not getting the result I expect. Anyone have any idea?

1 comentario

Satyajeet Sasmal
Satyajeet Sasmal el 16 de Nov. de 2015
Could you provide us with your workflow? What does the "ProperlyOrientedBinaryBlock" function do?

Iniciar sesión para comentar.

Respuestas (2)

Image Analyst
Image Analyst el 16 de Nov. de 2015
Try this:
grayImage = imread('binary.jpg');
binaryImage = grayImage > 128;
subplot(2, 1, 1);
imshow(binaryImage);
% Get convex hulls
binaryImage2 = bwconvhull(binaryImage, 'objects');
% Extract largest blob only
binaryImage2 = bwareafilt(binaryImage2, 1);
% Now you can crop:
[rows, columns] = find(binaryImage2);
topRow = min(rows);
bottomRow = max(rows);
leftColumn = min(columns);
rightColumn = max(columns);
croppedImage = binaryImage(topRow:bottomRow, leftColumn:rightColumn);
subplot(2, 1, 2);
imshow(croppedImage)
It's not super robust - if the blobs are broken up or nested, it's possible that it would need some more code to get it perfect, but it will work for rectangular Lego blocks as long as they're not too broken apart.

1 comentario

manimuthu Venu
manimuthu Venu el 9 de Sept. de 2020
Is it possible to get the original coordinates of the cropped image, so that it can be merged in the same position in another image? thanks a lot in advance

Iniciar sesión para comentar.

Thorsten
Thorsten el 16 de Nov. de 2015
Editada: Thorsten el 16 de Nov. de 2015
The image contains some spurious white points, e.g. at (950,3). You can delete them using erosion
se = strel('disk',1)
erodedB = imerode(B,se);

Categorías

Más información sobre Image Processing Toolbox en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 12 de Nov. de 2015

Comentada:

el 9 de Sept. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by