0
我試圖將圖像轉換爲使用PIL的方法「點」的二進制圖像(二層)如下:轉換灰色財政imageto二層
def mappoint (i):
if i > 1: return 1
else: return 0
if __name__=="__main__":
img = Image.open('no.tif')
img = img.point(mappoint)
img.save('ok.tif')
,但它給了我一個黑色的形象!
編輯:如果我確定def mappoint (i): if i > 1: return 255
那麼它會給出一個全白的圖像!如果我在mappoint中打印i的值,它會顯示0到255之間的值(如果你打印的範圍是256),那麼每個i都不是每個像素的值,是嗎?還有另一種方法只是通過當我們打開圖像轉換,使二層:IMG = Image.open(img_name).convert('1')
但默認情況下使用的閾值是127,和醫生說要使用點的方法,如果我們想要另一個門檻
如果我做'def mappoint(i):if i> 1:return 255',那麼它會給出一個全白的圖像!如果我在mappoint中打印i的值,它會顯示0到255之間的值(如果你打印的範圍是256),那麼每個i都不是每個像素的值,是嗎?還有另外一種方法可以在我們打開圖像時通過使用convert來創建bilevel:'img = Image.open(img_name).convert('1')'但默認情況下使用的閾值是127,並且文檔說要使用如果我們想要另一個門檻,可以使用點法 – shn 2011-12-21 00:35:45
那麼,你想要什麼樣的門檻?你**是否嘗試**默認閾值?你對這個結果感到不滿意嗎? – 2011-12-21 00:56:31
如果你看看你的'mappoint'定義......你已經把閾值設置爲1.所以只有黑色像素(和非常接近黑色的像素)將保持黑色,其餘的將保持白色。機會是你正在測試這個圖像沒有足夠的黑色像素,你會注意到.....嘗試將閾值改爲127以查看我的意思。 – 2011-12-21 01:11:20