MATLAB code error...

16 vues (au cours des 30 derniers jours)
재호
재호 le 26 Août 2025 à 0:46
Modifié(e) : Walter Roberson le 26 Août 2025 à 7:33
Hello
I'm running a Matlab code related to quantifying the sphericity of soil particles.
Now I'm using MATLAB R2022a version
please check for errors
This code was made in 2016.
Thanks
  1 commentaire
Image Analyst
Image Analyst le 26 Août 2025 à 3:54
Can you attach the tif file so I can determine why it has 4 planes? Aso attach your m-file so I can try it. Is it supposed to be an RGB true color image, or a volumetric image? Or an RGB image with an alpha channel? If it's a volumetric image, you should use bwlabeln instead of bwlabel.

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 26 Août 2025 à 2:37
Modifié(e) : Walter Roberson le 26 Août 2025 à 7:33
imbinarize() treats 3D arrays as being volumes. imbinarize() is not suitable for converting RGB images to binary.
To convert RGB images to binary, you should first use im2gray (R2020a or later), or rgb2gray
Note that TIFF images with 4 panes can be either RGBA or CMYK. To read RGBA images you should be using something like
[img, map, alpha] = imread('filename.tif');
If img comes out with three panes and map is empty and alpha is non-empty, then the file was RGBA.
If img comes out with four panes and map is empty and alpha is empty, then the file was CMYK.
There is another possibility: if the TIFF file is RGBIr (RBG plus infrared), then sometimes it will be written (incorrectly) as RGBA. RGBIr TIFF images should instead be constructed as RGB plus a seperate data pane (that will not be read by imread())

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by