コンピュータービジョンにアルゴリズムを実装しようとしていますが、一連の写真で試してみたいと思います。写真はすべてカラーですが、私はそれを扱いたくありません。アルゴリズムをテストするのに十分なグレースケールに変換したいと思います。
カラー画像をグレースケールに変換するにはどうすればよいですか?
私はそれを読んでいます:
x = imread('bla.jpg');
グレースケールとして読み取るためにimread
に追加できる引数はありますか? x
をグレースケールに変更する方法はありますか後それを読んでいますか?
使用する rgb2gray
色相と彩度を取り除く(つまり、グレースケールに変換する)。 ドキュメント
x = imread('bla.jpg');
k = rgb2gray(x);
figure(1),imshow(k);
私はこのリンクを見つけました: 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);
このコードを使用できます:
im=imread('your image');
k=rgb2gray(im);
imshow(k);
matlabに使用
I=imread('yourimage.jpg');
p=rgb2gray(I)
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)