複製鏈接
請複製以下鏈接發送給好友

im2bw

鎖定
matlab中DIP工具箱函數im2bw使用閾值(threshold)變換法把灰度圖像(grayscale image)轉換成二值圖像。一般意義上是指只有純黑(0)、純白(255)兩種顏色的圖像。 當然, 也可以是其他任意兩種顏色的組合。
中文名
im2bw
顏    色
純黑(0)、純白(255)
含    義
轉換成二值圖像
方    法
最大類間方差法

目錄

im2bw簡介

matlab中DIP工具箱函數im2bw使用閾值(threshold)變換法把灰度圖像(grayscale image)轉換成二值圖像。所謂二值圖像, 一般意義上是指只有純黑(0)、純白(255)兩種顏色的圖像。 當然, 也可以是其他任意兩種顏色的組合。 在matlab命令行中鍵入doc im2bw或help im2bw即可獲得該函數的幫助信息。
閾值變換
比如數組 a = [120, 254, 0, 200, 99];
設定一個閾值125, 並對a進行閾值變換, 那麼a中凡是大於125的, 則變為255, 小於等於125的則變為0
(具體對臨界情況處理可能不同, 不過matlab中im2bw函數是按照上述方法處理的)
這樣a經過閾值變換後變為[0, 255, 0, 255, 0]

im2bw語法

BW = im2bw(I, level)
BW = im2bw(X, map, level)
BW = im2bw(RGB, level)
其中level就是設置閾值的。level取值範圍[0, 1]。
例如:
I = uint8([0, 255, 128, 127, 121, 202]);
range =
0 255
I2 = im2bw(I, 0.5)
I2 = 0 1 1 0 0 1
I3 = im2uint8(I2)
I3 = 0 255 255 0 0 255
getrangefromclass函數能夠根據圖像數據類型(I的數據類型是uint8)獲得圖像數據的取值範圍。通過這個例子, 可以看到, 圖像I中每個像素的取值範圍是0~255, 設定閾值為0.5, 則圖像數據中凡是超過255 * 0.5 = 127.5的都變為255, 否則都變為0。

im2bw注意事項

在Matlab中使用im2bw函數進行圖像二值化處理時(將圖像轉換為 二值圖像), 人為設定閾值並不總是十分有效。matlab工具箱為我們提供了graythresh函數。該函數使用最大類間方差法得到一個閾值, 利用這個閾值進行圖像二值化通常是十分有效的。