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!

