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일

1 개 추천

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개)

카테고리

도움말 센터File Exchange에서 Convert Image Type에 대해 자세히 알아보기

질문:

2015년 3월 17일

편집:

DGM
2024년 7월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by