How to code image types?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
John Doe
le 5 Juil 2020
Réponse apportée : Image Analyst
le 5 Juil 2020
Hello everyone.
How can I write the "if-else" loop so that MATLAB will identiy it is a Gray/Binary image?
Thanks in advance!
0 commentaires
Réponse acceptée
Image Analyst
le 5 Juil 2020
Try this:
grayImage = imread(fullFileName);
% Get the dimensions of the image.
% numberOfColorChannels should be = 1 for a gray scale image, and 3 for an RGB color image.
[rows, columns, numberOfColorChannels] = size(grayImage);
if numberOfColorChannels > 1
% It's not really gray scale like we expected - it's color.
% Use weighted sum of ALL channels to create a gray scale image.
% grayImage = rgb2gray(grayImage);
% ALTERNATE METHOD: Convert it to gray scale by taking only the green channel,
% which in a typical snapshot will be the least noisy channel.
grayImage = grayImage(:, :, 1); % Take red channel.
end
if max(grayImage(:)) == 1 && length(unique(grayImage(:))) == 2
% It's binary because it has only two values: 0 and 1
else
% It's grayscale
end
You can also use isa(grayImage, 'logical') or similar to identify what class it is.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!