Tracing boundary in RGB image

4 vues (au cours des 30 derniers jours)
Busy Bee
Busy Bee le 7 Mai 2019
Réponse apportée : Josh le 10 Mai 2019
I have a TIFF image that i have attached with this question (Picture1). I could not attach the TIFF format hence attached a JPEG format.
Picture1.jpg
It is a random image. I want to convert it into boundary image, i.e. the different color parts are represented by just a boundary as shown in Picture 2. Picture2.png
Any help would be appreciated. I have MATLAB 2015a. I have tried using visboundaries but I could not convert my TIFF image into binary.

Réponses (1)

Josh
Josh le 10 Mai 2019
You just want the outlines of the colored regions stored in another image, right?
You can use the gradient function:
% Convert image to double (gradients are always returned as double arrays)
J = im2double(I);
% Loop through color channels (assuming original image is stored in I)
for i = 1 : 3
G(:,:,i) = imgradient(I(:,:,i));
end
% Convert the gradient to grayscale and flip black and white
E = 1 - rgb2gray(G);

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Produits


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by