MATLAB: Imread makes 3D array from simple png

image analysisimage processingMATLAB

I want to count squares and circles on the following png picture:
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 (155×298 x3)? I guess that first two (155×298) are the size of a picture (in pixels).

Best Answer

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.