Image into grayscale without using toolbox

5 ビュー (過去 30 日間)
Krish Desai
Krish Desai 2015 年 10 月 12 日
コメント済み: Krish Desai 2015 年 10 月 12 日
This is my current code:
function out = luminance(current_img )
R=current_img(:,:,1);
G=current_img(:,:,2);
B=current_img(:,:,3);
I=.299*R + 0.587*G+0.114*B;
out=I;
end
I'm trying to make my image grayscale but that's not what's happening, what am I doing wrong?

採用された回答

Image Analyst
Image Analyst 2015 年 10 月 12 日
That should work. What's the problem? Perhaps you want to cast it back to uint8 or something.
out = uint8(.299*double(R) + 0.587*double(G)+0.114*double(B));
or else just leave it as floating point and use [] in imshow to display it:
imshow(out, []);
  2 件のコメント
Krish Desai
Krish Desai 2015 年 10 月 12 日
The image is coming out in blues, yellows and greens. I tried typecasting but it didn't work.
Krish Desai
Krish Desai 2015 年 10 月 12 日
Update: Using the floating point worked

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by