replace RGB values with new values
3 views (last 30 days)
Show older comments
How to change the pixel values of a RGB image to
% if pixel value is in the following range
0-64 to 0
65-128 to 1
129-192 to 2
192-255 to 3
How to change in all the channels without using for loop
0 Comments
Accepted Answer
Dyuman Joshi
on 25 May 2022
Edited: Dyuman Joshi
on 25 May 2022
rgb=[67,68,69;0,67,69;0,66,68;125,126,127;122,125,127;117,122,126;113,114,115;110,113,115;106,111,114]
floor(abs(rgb-1)/64)
2 Comments
DGM
on 25 May 2022
If the input is properly uint8 class, then the output won't be as expected. So long as the input is at least scaled [0 255], the following should work regardless of input class, and the output will be cast properly for the scale.
uint8(floor(abs(double(rgb)-1)/64))
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!