Why imread makes 3D array from simple png?
29 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Marcin Zyskowski
le 23 Oct 2016
Commenté : Image Analyst
le 23 Oct 2016
I want to count squares and circles on the following png picture:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/157362/image.png)
I begun my adventure with writing:
obrazek=imread('trial.png');
I can see it created an array, but I have no idea why does it have three dimensions. How to interpret this last dimension (155x298 x3)? I guess that first two (155x298) are the size of a picture (in pixels).
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/157363/image.png)
0 commentaires
Réponse acceptée
Image Analyst
le 23 Oct 2016
Because it's a color image. The only two colors in it are black and white, but it's still color (with 2 colors). If you want a gray scale image, simply extract one of the color channels:
obrazek = obrazek(:, :, 2); % Extract green channel. Resulting image will be grayscale.
2 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!