2012-11-07 93 views
1

我得到一個任務,我必須將8位灰度圖像轉換爲10,7,4,3和1位表示形式。Opencv - 將圖像轉換爲python中的任意位深度

由於opencv似乎沒有提供不同於8,16,32等位深度,所以我不知道如何實現這一點。

基本上我需要的是一種方法來減少包含在像素中的信息量,直到我結束黑白圖像(1位表示)。

編輯:我不完全確定轉換應該如何工作,但我猜我們需要執行右移操作。這樣

0b11111111 

最終將成爲

0b1 

問題是OpenCV的能明白這一點爲:

0b00000001 

這不會離開我了黑白圖像,我應該是。

如果你有一段時間,這個過程在理論上here

+0

如何這些轉換應該發生?我的意思是,例如,將值125(1111101)轉換爲10位表示法意味着什麼?將它轉換爲1位表示法呢?澄清在你的問題。 –

回答

1

解釋您可以輕鬆地縮放圖像到8位與convertScaleAbs,那麼你可以做bitshifts或者將向下擴展到較少的比特。

如果你想轉換爲1位有算法選擇一個最優值,而不是僅僅> 128 = 1和< 128 = 0

相關問題