-
大小: 2KB文件類型: .py金幣: 1下載: 0 次發布日期: 2021-05-08
- 語言: Python
- 標簽: python??numpy??imageprocess??
資源簡介
python+numpy實現自適應閾值分割函數OSTU,鞏固編程基礎以及圖像處理基礎
代碼片段和文件信息
import?numpy?as?np
import?cv2
def?Ostu(image):
????‘‘‘
????最大類間方差:
????E=left_n/size*np.square(left_p-average)+right_n/size*np.square(right_p-average)求這個的最大值
????left_n:小于所選閾值的像素點的個數
????right_n:大于所選閾值的像素點的個數
????size:圖像總像素點的個數
????left_p:小于該閾值的像素點的均值
????right_p:大于該閾值的像素點的均值
????average:圖像整體的像素均值
????需要注意的是當圖像太大的時候不要超出整數表示范圍,所以需要一些細節上的技巧
????:param?image:?
????:return:?
????‘‘‘
????shape=np.shape(image)
????size=np.size(image)
????rowscols=shape[0]shape[1]
????#灰度直方圖
????hist=[0?for?x?in?range(256)]
????#均值
????average=0
????for?i?in?range(rows):
????????for?j?in?range(cols):
????????????val=image[ij]
????????????average+=image[ij]/size
????????????hist[val]+=1
????m=-np.inf
????thresh=0
????for?i?in?range(256):
????????left_n=np.
評論
共有 條評論