Convert bitdepth of png image

7 次查看(过去 30 天)
berkaoui sara
berkaoui sara 2015-3-17
编辑: DGM 2024-7-9,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 ?

采纳的回答

Christiaan
Christiaan 2015-3-18
编辑:DGM 2024-7-9,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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by