MATLAB Answers


How to truncate the image values ??

ghada sandoub さんによって質問されました 2019 年 2 月 20 日
最新アクティビティ Jos (10584)
さんによって 回答されました 2019 年 2 月 21 日
How to truncate the image values so they stay in the [0 1] range

  2 件のコメント

Asad Mirza
2019 年 2 月 20 日
This depends on what data type your image comes as. If it's a uint8 type then it's values will be from [0 255] but if you convert them to double with im2double then the values will range from [0 1].
Also, do you mean truncate as in set all values outside that range to 0?
Need some clarification.
ghada sandoub 2019 年 2 月 21 日
thanks for your comment. I'm following an algorithm for image enhancement and after applying the algorithm, the output is an image of type double and it needs simple modification to be more visual. the last step in the algorithm is to truncate the image to [0 1], which is of paramount
importance to improve the brightness and contrast of the image. but i don't know how to truncate the image. can you help me on that?? thanks

サインイン to comment.

2 件の回答

Image Analyst
回答者: Image Analyst
2019 年 2 月 21 日

Truncate, or scale? There is a difference.
% Truncate:
yourImage(yourImage >1) = 1;
% Scale (min,max) to (0,1):
yourImage = mat2gray(yourImage);
% or scale max to 1, leaving min linearly scaled (not necessarily sent to 0).
yourImage = yourImage / max(yourImage(:))

  0 件のコメント

サインイン to comment.

Jos (10584)
回答者: Jos (10584)
2019 年 2 月 21 日

X = randn(5,5)
a = 0, b = 1
% truncate values of X between a and b
Xt = min(max(X,a),b)
% scale values of X between a and b
Xsc = (X - min(X(:)) - a) .* b / range(X(:))

  0 件のコメント

サインイン to comment.

Translated by