以下のコードでグレースケール化を行おうと考えています.
clear all;
close all;
%RGBイメージを表示
RGB = imread('2007_000033.png');
%imshow(RGB)
%RGB イメージをグレースケール イメージに変換して表示
I = rgb2gray(RGB);
figure
imshow(I)
しかしながら,実行したところ,以下のようなエラーが発生しました.
エラー: rgb2gray>parse_inputs (line 80)
MAP は m 行 3 列の配列でなければなりません。
エラー: rgb2gray (line 52)
isRGB = parse_inputs(X);
これは,どのような意味なのでしょうか?

 채택된 답변

Akira Agata
Akira Agata 2020년 10월 6일
편집: Akira Agata 2020년 10월 6일

0 개 추천

おそらく、もとの画像ファイルがインデックス付き画像ファイルになっていることが原因と思われます。
その場合、以下のようにいったん通常のRGB画像に変換したうえでグレースケール化すれば大丈夫です。
[IDX, cmap] = imread('2007_000033.png'); % インデックスとカラーマップを読み込み
RGB = ind2rgb(IDX, cmap); % 両者から通常のRGB画像に変換
I = rgb2gray(RGB); % グレースケール画像に変換

댓글 수: 1

Kodai Sato
Kodai Sato 2020년 10월 6일
非常にわかりやすいご回答ありがとうございました.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

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

제품

릴리스

R2019b

질문:

2020년 10월 6일

댓글:

2020년 10월 6일

Community Treasure Hunt

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

Start Hunting!