Clear Filters
Clear Filters

Convert bitdepth of png image

7 views (last 30 days)
berkaoui sara
berkaoui sara on 17 Mar 2015
Edited: DGM on 9 Jul 2024 at 23:38
How to convert the image with the following information: ColorType: truecolor Format: png bitDepth: 24
to a png grayscale image with bitdepth=8 in matlab ?

Accepted Answer

Christiaan
Christiaan on 18 Mar 2015
Edited: DGM on 9 Jul 2024 at 23:38
Dear Sara,
You can use the function imfinfo to get i.e. the bit depth of the image. With the function rgb2gray you can convert your RGB image into a grey image.
An example how to perform a RGB (24 bitDepth) to a grayscale (8 bitDepth) is shown below:
clc;clear all;close all;
[RGB,map_RGB] = imread('bitdepth_24bpp_580.png');
RGB_info = imfinfo('bitdepth_24bpp_580.png');
RGB_BitDepth_original = RGB_info.BitDepth
RGB_BitDepth_original = 24
Gray= rgb2gray(RGB);
imwrite(Gray,'imagegrey.png');
grey_info = imfinfo('imagegrey.png');
Grey_BitDepth = grey_info.BitDepth
Grey_BitDepth = 8
figure(1);
subplot(2,1,1);imshow(RGB,map_RGB);
subplot(2,1,2);imshow(Gray);
The image that I used can be found in the attachment.
Good Luck! Christiaan van Ommeren

More Answers (0)

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!