How can I reverse black and white in a grayscale image?
103 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Clara
il 2 Lug 2014
Commentato: Victor Mtsimbe Norrild
il 17 Mar 2021
I have a grayscale image and I'm trying to reverse the black and white in it as an exercise. I think I'm supposed to use for loops in some way to access the colormap so the entire image matrix is composed of 1's and 0's (at which point I could switch the two by subtracting 1 from all values) but I don't know how to get this matrix in the first place. Thank you!
2 Commenti
Cedric
il 2 Lug 2014
Here is a hint
>> A = randi(5 , 3, 4)
A =
5 5 2 5
5 4 3 1
1 1 5 5
>> 5-A
ans =
0 0 3 0
0 1 2 4
4 4 0 0
Here you see that 5-A operates on the whole array A, without the necessity to implement a loop.
Cedric
il 2 Lug 2014
Modificato: Cedric
il 2 Lug 2014
And here is a second hint:
>> I = imread('board.tif');
>> J = rgb2gray(I);
>> size(J)
ans =
648 306
>> min(J(:))
ans =
0
>> max(J(:))
ans =
255
so pixels' "grayscale" level seem to be coded with (unsigned) integers in the range 0 to 255.
Note that you can visualize J with
>> imshow( J ) ;
Now maybe there is an operation that you could perform on J which would reverse the scale ..
Risposta accettata
Più risposte (1)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!