2015-10-06 167 views
0

我有一個關於在MATLAB中創建二進制圖像的問題。 我想用3907x3713像素創建一個二進制圖像。每個像素由矩陣中的位置表示(我假設)。除了1000-1500x軸)和2000-2500y軸)之間的像素外,每個像素都必須是黑色的(所以我猜的值爲0),但這些必須是白色的(值爲256,我猜)。創建二進制圖像

首先,我創建了一個有3907行和3713列的矩陣。我用零填充(通過函數zeros)。但是,我堅持要找到一個簡單的方法來取代一些值爲256

謝謝你的時間和幫助。

+3

怎麼樣'IM(1000:1500,2000:2500)= 255'?如果類型是雙倍的,那麼1對應於白色。只有uint8,255(而不是256!)是白色的。 – hbaderts

+0

我會馬上嘗試,謝謝回覆! – Victor

回答

0

函數返回一個數組double

要創建只有黑色和白色一個真正的二進制圖像,您的數組轉換爲邏輯類型:

im=logical(zeros(3907, 3713)); 

這將有助於significally使用(64倍)的內存更少。

在這樣的圖像中0用於黑色,1用於白色。沒有其他值是允許的。

所以,要創造出一些白色像素使用

im(1000:1500,2000:2500) = 1;