Greyscale an image via replacing pixels
1 回表示 (過去 30 日間)
古いコメントを表示
I have an image that I want to greyscale. It contains only blue and white pixels and I want to use a method whereby I identify the blue pixels and make them grey. How can I do that?
So far I have got:
fit = imread('RGB.jpg');
size(fit)
imshow(fit);
So I haven't got very far. I have created a function to test if a pixel is blue. Is there any way to use this? An example of using pixels to replace would be much appreciated.
回答 (1 件)
Ashish Uthama
2013 年 8 月 6 日
% air code (untested)
red = fit(:,:,1);
green = fit(:,:,2);
blue = fit(:,:,3);
isblue = blue>250;
% Use logical indexing to set the red and green channels to be the same value as the blue channel. (When R==G==B, then the color is 'gray')
red(isblue) = blue(isblue);
green(isblue) = blue(isblue);
% reassemble
fitout = cat(3, red, green, blue)
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Image Processing Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!