在圖像處理領域,灰度二值化是一種基本的圖像處理技術。它可以將一張彩色或灰度圖像以一種較為簡潔的方式展示,只包含黑色和白色兩種顏色,而且黑色能夠標識出對象的邊界,白色則可以表示背景。在 python 中,有多種方式實現灰度二值化,下面是一種簡單的實現方法:
import cv2
# 讀取圖片
img = cv2.imread('img.jpg')
# 轉換為灰度圖像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 閾值化處理
threshold = 128 # 設置閾值
binary = cv2.threshold(gray, threshold, 255, cv2.THRESH_BINARY)
# 顯示結果
cv2.imshow('Binary Image', binary)
cv2.waitKey(0)
cv2.destroyAllWindows()
以上代碼首先使用 cv2.imread() 函數讀取一張圖片,然后將該圖片轉換為灰度圖像。接著,通過設置閾值 threshold 進行二值化處理,該函數會將灰度值高于閾值的像素點設為 255(白色),低于閾值的像素點設為 0(黑色)。最后使用 cv2.imshow() 函數將處理后的二值化圖像顯示出來。
在閾值處理過程中,還可以使用 cv2.THRESH_BINARY_INV 參數實現反二值化處理,即將灰度值低于閾值的像素點設為 255,高于閾值的像素點設為 0。
總之,灰度二值化是一種十分常見的圖像處理技術,使用 python 可以輕松實現。通過上述代碼可以發現,opencv 庫中提供了多種圖像處理函數和參數,可以根據實際需求進行選擇和使用。