How to choose the boundaries of the gray zone in the image?

1 vue (au cours des 30 derniers jours)
Kian Azami
Kian Azami le 9 Oct 2017
Commenté : Kian Azami le 11 Oct 2017
I have an image and I would like to write a program in order to separate the gray part of the image which is a footprint of a tire. I think the algorithm should be similar to fingerprint detection, however, I don't have sufficient knowledge to do so. Can anyone suggest me a solution?
  4 commentaires
Image Analyst
Image Analyst le 9 Oct 2017
Exactly what does separate mean to you?
Kian Azami
Kian Azami le 9 Oct 2017
I mean to separate the zone which I determined by the red line.

Connectez-vous pour commenter.

Réponse acceptée

Akira Agata
Akira Agata le 11 Oct 2017
By combining imclose, imopen, and bwconvhull functions, you can determine the target area. Here is an example.
% Read the image and binarize
I = imread('Footprint.jpg');
I = rgb2gray(I);
BW = imbinarize(I);
% Remove noise
se = strel('disk',5);
BW = imclose(BW, se);
BW = imopen(BW, se);
% Remove areas connected to image border
BW = imclearborder(BW,4);
% Generate convex hull image
ROI = bwconvhull(BW);
% Show the result
imshowpair(I,ROI)
  1 commentaire
Kian Azami
Kian Azami le 11 Oct 2017
Amazing answer, thank you. Now I understand why you are a STAFF.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by