Gray image quantization
6 ビュー (過去 30 日間)
古いコメントを表示
I am trying to quantize an image into 12 bit intensity using the below code:
R2D = mat2gray(R2D); % intensity between [0,1] Double
R2D = double(uencode(R2D,12)); % intensity between [0,2^12] integer
PIC = mat2gray(R2D); % intensity between [0,1] Double
imshow(pic);
the problem is in 'uencode' function , the input must be in the range of [-1,1], is there a way to do that quantization for input values between [0,1]? may be some changes to the 'uencode' will do job :)
Many thanks
0 件のコメント
採用された回答
その他の回答 (1 件)
Image Analyst
2012 年 2 月 10 日
How about using code like:
actualMin = double(min(min(imgOriginal)));
actualMax = double(max(max(imgOriginal)));
slope = (desiredMax - desiredMin) / (double(actualMax) - double(actualMin));
scaledImage = slope * (double(imgOriginal) - actualMin) + desiredMin;
2 件のコメント
Image Analyst
2012 年 2 月 10 日
I didn't think that was your intention because at the end you called mat2gray() which forces it into a 0-1 range, which pretty much wipes out quantization - not quite but for most intents and purposes it does. And the quantized intermediate images, you didn't do anything with.
参考
カテゴリ
Help Center および File Exchange で Convert Image Type についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!