Find a range in a matrix and rescale it

4 views (last 30 days)
In a image, those in the range [120 230] are scaled into range [0 120].
How to do it? Thanks.
if (a>120/255) & (a<230/255)
a==0;
end
I tried something like this but it doesnt work. Thanks.

Accepted Answer

KSSV
KSSV on 8 Sep 2021
Edited: KSSV on 8 Sep 2021
Let A be your image:
A0 = A ; % save for test
idx = A >= 120 & A<= 230 ; % get indices of required values
val = A(idx) ; % values
val_rescale = rescale(val,0,120) ; % scale the values
A(idx) = val_rescale ; % replace
  3 Comments
KSSV
KSSV on 8 Sep 2021
Typo error...val should be used in the function rescale. Edited the answer.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!