Why imread makes 3D array from simple png?
25 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2016-10-23
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Modify Image Colors 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!