閾值化分割(一)雙峰法-附Python實現__Python

來源:互聯網
上載者:User

本人郵箱:sylvester0510@163.com,歡迎交流討論,
歡迎轉載,轉載請註明網址http://blog.csdn.net/u010128736/


閾值化分割(一)雙峰法 一、雙峰法介紹

  長條圖雙峰法(2-Mode method),如下圖所示,即如果映像灰階長條圖呈明顯的雙峰狀,則選取雙峰間的最低穀出作為映像分割的閾值所在。即下圖中,以Zt為閾值進行二值化分割,可以將目標和背景分割開。

  但當映像的長條圖出現波峰間的波穀平坦、各地區長條圖的波形重疊等情況時,用雙峰法就很找到合適的閾值。 二、python源碼

下面給出python原始碼。

#coding:utf-8import cv2import numpy as npfrom matplotlib import pyplot as pltimage = cv2.imread("E:/python/cv/2ModeMethod/test.jpg")gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)plt.subplot(131), plt.imshow(image, "gray")plt.title("source image"), plt.xticks([]), plt.yticks([])plt.subplot(132), plt.hist(image.ravel(), 256)plt.title("Histogram"), plt.xticks([]), plt.yticks([])ret1, th1 = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)plt.subplot(133), plt.imshow(th1, "gray")plt.title("2-Mode Method"), plt.xticks([]), plt.yticks([])plt.show()

  這裡為了方便,之間選取127作為分隔閾值,網上能找到一些自動選擇閾值的演算法,後面也會介紹一些演算法,大家感興趣可以自行尋找。結果如下所示:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.