2010-08-11 95 views
2

如何在Matlab中使用imwrite或任何其他函數編寫1位bmp圖像。 immp的默認值爲8位。Matlab寫入1位bmp

感謝很多:)

回答

1

按照IMWRITE文檔:

如果輸入陣列是 類logical的,imwrite假定數據是 二進制圖象,並將其與的比特深度寫入文件 1,如果格式爲 則允許。 BMP,PNG或TIFF格式 接受二進制圖像作爲輸入數組。

因此,如果你把它給IMWRITE前圖像數據轉換爲logical矩陣,你應該能夠創建一個1位BMP圖像:

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

你必須調用imwrite之前,將圖像轉換爲邏輯(即1位)。

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

謝謝。你的回答是真實的。但是,我不能將兩個答案標記爲我接受的答案。非常感謝。 – Shadi 2010-08-11 15:35:24

+0

@Shadi:不客氣。 – Jonas 2010-08-11 15:38:07