How to code image types?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
John Doe
el 5 de Jul. de 2020
Respondida: Image Analyst
el 5 de Jul. de 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 comentarios
Respuesta aceptada
Image Analyst
el 5 de Jul. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Image Processing Toolbox en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!