閾值分割及 threshold 實現

Lois發表於2020-06-03

二進位制閾值化

先要選定一個特定的閾值量,比如:127
新的閾值產生規則為:
大於等於127的畫素點的灰度值設定為最大值(如8位灰度值最大為255)
灰度值小於127的畫素點的灰度值設定為 0

反二進位制閾值化

該閾值化與二進位制閾值化相似,先選定一個特定的灰度值作為閾值。以 8 位灰度圖為例:
大於閾值的設定為 0
小於該閾值的設定為 255

截斷閾值化

首先需要選定一個閾值,影像中大於該閾值的畫素點被設定為該閾值,小於該閾值的保持不變。例如:閾值選取為 127
小於127的閾值不改變
大於等於127的畫素點設定為該閾值 127

反閾值化為 0

先選定一個閾值,然後對影像做如下處理:
大於等於閾值的畫素點變為 0
小於該閾值的畫素點值保持不變

threshold 影像閾值的實現

函式 threshold

retval,dst = cv2.threshold(src, thresh, maxval, type)
# retval 閾值   dst 源影像
# dst 處理結果 threshold 閾值
# mavxval 最大值
# type 型別

二進位制閾值化 關鍵字:cv2.THRESH_BINARY
反二進位制閾值化 關鍵字:cv2.THRESH_BINARY_INV
截斷閾值化 關鍵字:cv2.THRESH_TRUNC
反閾值化為 0 關鍵字:cv2.THRESH_TOZERO_INV

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Hacking

相關文章