2010-08-11 3 views
2

Как написать 1-битное изображение BMP в Matlab с помощью imwrite или любой другой функции. по умолчанию imwrite для bmp - 8 бит.Matlab write 1-bit bmp

Большое спасибо :)

ответ

1

Согласно IMWRITE документации:

Если массив входа класса logical, imwrite предполагает, что данные является бинарного изображения и записывает его в файл с битовой глубиной 1, если разрешен формат . BMP, PNG или TIFF принимают двоичные изображения в качестве входных массивов.

Поэтому, если вы преобразовать данные изображения в logical матрице, прежде чем давать его IMWRITE, вы должны быть в состоянии создать 1-битный BMP файл:

imwrite(logical(imageData),'image.bmp'); 
2

Вы должны преобразовать изображение в логический (то есть 1-бит) перед вызовом imwrite.

%# assuming the image is stored in a variable 'img' 
imwrite(logical(img),'test.bmp','bmp') 
+0

Спасибо. Ваш ответ верен. Тем не менее, я не могу отметить два ответа в качестве моего принятого ответа. Большое спасибо. – Shadi

+0

@ Шади: Добро пожаловать. – Jonas

Смежные вопросы