How do I quantize and dequantize a matrix ?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Derick Wong
am 20 Dez. 2013
Beantwortet: John D'Errico
am 20 Dez. 2013
Hi,
May I ask how do I quantize and dequantize a given matrix eg.row 93 and column 343.
2 Kommentare
Image Analyst
am 20 Dez. 2013
First explain to us what the means. As you know all numbers in a computer are quantized because they're digital.
Akzeptierte Antwort
Image Analyst
am 20 Dez. 2013
Unless you save what it was before you threw away the fractional part, you cannot get it back. In your script you can alter it like this to save the information
m = 10*rand(3,4); % Create m.
% Round up to nearest greater integer.
A=ceil(m)
Quantization=A; % No need for round as A is already integers.
% Get m back
A = m;
Quantization = m;
0 Kommentare
Weitere Antworten (1)
John D'Errico
am 20 Dez. 2013
Consider the vector [1.75 2.25]. After rounding, it maps to [2 2]. Can you possibly know after the rounding process what the original values were? Of course not.
You can do as Image Analyst suggests, and save the fractional parts thrown out, but this is about as much as you can do in general.
If you do know something about the relationship that created your data, then it MAY be possible to do more. For example, I once wrote an unrounding tool, that presumes the elements are rounded from some smooth functional relationship. It tries to find a maximally smooth curve through the data points, such that the curve is consistent with rounding.
The point is you can never recover the original values without more information provided by you.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Cast and Quantize Data finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!