Если у вас есть изображение, которое хранится как тип uint8
в MATLAB, то значения пикселей будут в диапазоне от 0 до 255. Чтобы ограничить значения только 3 битами точности (таким образом, используя только цифры от 0 до 7 ), вы можете масштабировать данные как в следующем примере:
>> data = uint8([0 23 128 200 255]); % Create some data of type uint8
>> scaledData = data*(7/255)
scaledData =
0 1 4 5 7
>> class(scaledData)
ans =
uint8
Обратите внимание, что даже если масштабированные значения ограничены диапазоном от 0 до 7, переменная, в которой они хранятся, по-прежнему имеет тип данных uint8
, поскольку это самый маленький MATLAB. Неиспользуемые старшие биты равны 0.
В зависимости от того, как вы выводите данные масштабированного изображения в файл (если вы хотите это сделать), вы можете уменьшить точность сохраненных значений до менее чем 8 бит (например, PNG-файлы). может хранить 4-битные типы ).