Как конвертировать uint8 в int в Matlab? - PullRequest
0 голосов
/ 09 мая 2018

Я преобразовал изображение из RGB в оттенки серого, и у меня есть матрица изображения в uint8. Я пытаюсь сделать некоторую обработку изображения со сверткой, что означает, что я хочу использовать значения как int, когда я суммирую все. Итак, как я могу конвертировать из uint8 в int в Matlab?

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Matlab поддерживает несколько целочисленных форматов. Основное отличие заключается в том, какое место занимает память, и если используется знак (+ или -).

Например, uint8 означает, что целое число является беззнаковым и что оно использует 8-битное значение для хранения значения. Количество используемых битов определяет максимальное значение. Uint8 может хранить число от 0 до 2 ^ 8-1.

Вы можете найти полный список всех поддерживаемых целых чисел здесь

Если вы хотите преобразовать ваш uint8 в другой формат, вы можете просто написать желаемый формат как функцию и передать значение в качестве параметра:

I2 = uint16(I);
0 голосов
/ 09 мая 2018

В Matlab вы можете использовать двойной тип. например, тип приведен с:

I2=double(I);

Легко понять, что вы можете использовать int8 (I) int16 (I) тоже.

...