Effacer les filtres
Effacer les filtres

Greyscale an image via replacing pixels

1 vue (au cours des 30 derniers jours)
Anna
Anna le 6 Août 2013
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 commentaire
Ashish Uthama
Ashish Uthama le 6 Août 2013
Please consider uploading the image here.

Connectez-vous pour commenter.

Réponses (1)

Ashish Uthama
Ashish Uthama le 6 Août 2013
% 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)

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by