web-dev-qa-db-ja.com

MATLABでカラー画像をグレースケールに変換するにはどうすればよいですか?

コンピュータービジョンにアルゴリズムを実装しようとしていますが、一連の写真で試してみたいと思います。写真はすべてカラーですが、私はそれを扱いたくありません。アルゴリズムをテストするのに十分なグレースケールに変換したいと思います。

カラー画像をグレースケールに変換するにはどうすればよいですか?

私はそれを読んでいます:

x = imread('bla.jpg');

グレースケールとして読み取るためにimreadに追加できる引数はありますか? xをグレースケールに変更する方法はありますかそれを読んでいますか?

10
Nathan Fellman

使用する rgb2gray色相と彩度を取り除く(つまり、グレースケールに変換する)。 ドキュメント

25
Donnie
x = imread('bla.jpg');
k = rgb2gray(x);
figure(1),imshow(k);
8
s.lakshmi

私はこのリンクを見つけました: http://blogs.mathworks.com/steve/2007/07/20/imoverlay-and-imagesc/ それは機能します。

それは言う:

im=imread('your image');
m=mat2gray(im);
in=gray2ind(m,256);
rgb=ind2rgb(in,hot(256));
imshow(rgb);
2
Ema

このコードを使用できます:

im=imread('your image');
k=rgb2gray(im);
imshow(k);

matlabに使用

1
Dian Permata
I=imread('yourimage.jpg');
p=rgb2gray(I)
0
SPIRO TECH GURU

imread()およびrgb2gray()関数を使用して、グレースケール画像を取得します。

例:

I = imread('input.jpg');
J = rgb2gray(I);
figure, imshow(I), figure, imshow(J); 

カラーマップ画像がある場合は、次のようにする必要があります。

[X,map] = imread('input.tif');
gm = rgb2gray(map);
imshow(X,gm);

rgb2gray独自の実装のアルゴリズムは次のとおりです。

f(R,G,B) = (0.2989 * R) + (0.5870 * G) + (0.1140 * B)
0
Alimpk