converting floating point value to integer
이전 댓글 표시
I have an image in floating point value,i have to convert it into integer ,can anyone suggest an idea please
I have values for example ,i have taken some pixels from my image,and my whole image pixels values in these ranges only,now i want to convert this floating point into an integer value and i want to read image from those intteger value pixels
0.0004 0.0004 0.0004 0.0003 0.0003 0.0002
0.0006 0.0005 0.0005 0.0005 0.0004 0.0003
0.0008 0.0007 0.0007 0.0007 0.0006 0.0005
댓글 수: 6
Jan
2011년 12월 14일
I've tried to answer, but this question misses an important point: What do you want as output exactly? The input seems to be a 16-bit grey-scale image. You can convert it to the type UINT8 or UINT16. You can scale it such that the smallest value of the input gets 0, or simply multiply all data by 2^8 or 2^16. You could spread the values, such that the complete range from 0 to 2^8-1 (or 2^16-1) is used.
Before I start to guess, what you want, or present a bunch of solutions, it is more efficient to let you specify your needs.
kash
2011년 12월 14일
Jan
2011년 12월 14일
@kash: Of ocurse uint8(0.0004) replies the same as uint8(0.0007). Simply try it in the command window.
Let me ask again: What is the range of the inputs and waht range do you want as output. Please be as specific as possible - guessing what you want wastes our and your time.
kash
2011년 12월 14일
Jan
2011년 12월 14일
And again: What is the range of the input (max value - min value) and what is the wanted range for the output?
kash
2011년 12월 14일
채택된 답변
추가 답변 (1개)
Jan
2011년 12월 14일
A = [0.0004 0.0004 0.0004 0.0003 0.0003 0.0002;
0.0006 0.0005 0.0005 0.0005 0.0004 0.0003;
0.0008 0.0007 0.0007 0.0007 0.0006 0.0005];
B = uint8((A - min(A(:))) * (255 / (max(A(:) - min(A(:))))));
카테고리
도움말 센터 및 File Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!