intensity transformation
27 views (last 30 days)
Show older comments
see.. basically, i have this image.that has certain intensity values.. low=a and y=b, where a and b are between 0 and 255. and i have this other image, whose lower and upper intensity values are c and d. i want to transform the second image's intensity range to that of the first image's. ie, create a (linear)mapping such that c maps on to a and d maps on to b... is there a matlab function to do this?? or can anyone just give me ideas on how to code this?? i want options other than imhist (that just helps u view the intensity range) and the imadjust(that works for intensity ranges between 0 and 1)
0 Comments
Accepted Answer
Image Analyst
on 12 Jun 2011
Just change this to set your desired min and max:
Let f be your array. Then . . .
originalMinValue = double(min(min(f)))
originalMaxValue = double(max(max(f)))
originalRange = originalMaxValue - originalMinValue;
% Get a double image in the range -1 to +1
desiredMin = -1;
desiredMax = 1;
desiredRange = desiredMax - desiredMin;
normalized = desiredRange * (double(grayImage) -
originalMinValue) / originalRange + desiredMin;
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!