Greyscale an image via replacing pixels
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
Réponses (1)
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)
0 commentaires
Voir également
Catégories
En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!