1. 程式人生 > >python opencv 實現影象的二值圖

python opencv 實現影象的二值圖

我們要將一張圖片首先轉化為灰度圖(或者是單通道的圖)然後才能進行二值化處理

那在opencv裡面有一個函式cv.Threshold(src, dst, threshold, maxValue, thresholdType)可以進行二值化處理  這個直接設定閾值 就可以將大於閾值的置為一 小於的置為零。其實在檔案裡面我們還可以發現另一個函式:

cv.AdaptiveThresholdsrc, dst, maxValue, adaptive_method=CV_ADAPTIVE_THRESH_MEAN_C, thresholdType=CV_THRESH_BINARY, blockSize=3, param1=5
 → None

 這種函式也是實現二值化 但是他的原理用到了高斯濾波的概念 效果相對來說平滑一些 我利用這個函式得到了想要的結果。部分程式碼如下:

 image=cv2.imread('1.png')
  gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
  gra=cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH    _BINARY,11,2)

也可以將裡面那兩個很長的引數直接設為一 效果也還不錯!

希望可以幫到你!