1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        使用 Python 的基于邊緣和基于區(qū)域的分割

        共 2902字,需瀏覽 6分鐘

         ·

        2021-10-18 01:02

        點擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

        重磅干貨,第一時間送達

        在這篇文章中,我將重點介紹基于邊緣和基于區(qū)域的分割技術(shù),在進入細節(jié)之前,我們需要了解什么是分割以及它是如何工作的。


        分割


        圖像分割是一種將數(shù)字圖像分割成各種圖像對象的技術(shù)。


        一個區(qū)域(圖像對象)中的每個像素在某些屬性上是相似的,例如顏色、強度、位置或紋理,這可以降低圖像的復(fù)雜性,以便于分析。在分割的幫助下,還可以從圖像中檢測出隱藏信息。


        分割算法處理圖像的兩個基本屬性:


        • 強度值,例如不連續(xù)性(邊界法)

        • 相似性(區(qū)域法)


        在下圖中,我們看到了一張以椅子、桌子、窗戶等為特征的圖像。我們可以通過分割來分別獲取這些對象。中間的圖像有一把椅子、一張桌子和窗戶作為我們的分割圖像對象。在最右邊的圖像中,通過標(biāo)記圖像對象來使用實例分割。


        在使用 Python 進行機器學(xué)習(xí)之后,分割變得非常容易。

        圖像分割的必要性


        將圖像劃分為不同的圖像對象,從中獲取信息,然后使用標(biāo)簽來訓(xùn)練各種 ML 模型以解決業(yè)務(wù)問題,其中一個例子是一個面部識別系統(tǒng),該系統(tǒng)通過分割自動標(biāo)記出勤情況。


        分割的另一個應(yīng)用是在醫(yī)學(xué)領(lǐng)域中,在檢測到腫瘤、癌癥等嚴重疾病后進行高效和快速的診斷,以及查看由射線照相、MRI、熱成像、內(nèi)窺鏡檢查、細胞和組織的超聲檢查生成的醫(yī)學(xué)圖像中的模式。圖像分割在機器人等領(lǐng)域也有巨大的應(yīng)用。


        圖像分類是一種流行的分割應(yīng)用,算法只能從圖像中捕獲所需的成分。在 Python 中實現(xiàn)圖像分割很容易,以獲得快速的結(jié)果。


        基于邊緣分割


        在這種方法中,區(qū)域的邊界彼此之間以及與背景之間的差異很大,允許基于強度(灰度級)的局部不連續(xù)性進行邊界檢測。


        換句話說,它是在圖像中定位邊緣的過程。這是理解圖像特征的非常重要的一步,因為我們知道邊緣由有意義的特征組成并且具有重要的信息。


        基于區(qū)域分割


        這種方法包括根據(jù)一組特定的標(biāo)準(zhǔn)將圖像劃分為相似的區(qū)域。


        基于區(qū)域的分割技術(shù)涉及一種算法,該算法通過將圖像劃分為具有相似像素特征的各種組件來進行分割,該技術(shù)在輸入圖像中搜索小塊或大塊以進行分割。


        它將向選定的塊添加更多像素,或者將塊點進一步縮小為更小的段,并將它們與其他更小的塊點合并。因此,基于該方法還有兩種更基本的技術(shù):區(qū)域生長和區(qū)域合并與分割。

        分割的主要應(yīng)用


        • 重大疾病檢測

        • 人臉識別系統(tǒng)

        • 自動駕駛汽車

        • 機器人學(xué)


        Python實現(xiàn)


        import numpy as npimport matplotlib.pyplot as pltfrom skimage import datacoins = data.coins()hist = np.histogram(coins, bins=np.arange(0, 256))fig, (ax1) = plt.subplots()ax1.imshow(coins, cmap=plt.cm.gray,interpolation='nearest')

        基于邊緣的分割


        from skimage.feature import cannyedges = canny(coins/255.)fig, ax = plt.subplots(figsize=(4, 3))ax.imshow(edges, cmap=plt.cm.gray, interpolation='nearest')ax.axis('off')ax.set_title('Canny detector')Text(0.5, 1.0, 'Canny detector')

        在這段代碼中,我們使用了 canny 庫,這是一種流行的邊緣檢測算法來檢測輸入圖像的邊緣。

        通過設(shè)置有效對象的最小大小,可以輕松去除小的虛假對象:

        from scipy import ndimage as ndifill_coins = ndi.binary_fill_holes(edges)fig, ax = plt.subplots(figsize=(4, 3))ax.imshow(fill_coins, cmap=plt.cm.gray, interpolation='nearest')ax.axis('off')ax.set_title('Filling the holes')Text(0.5, 1.0, 'Filling the holes')

        我們使用ndimage as ndi,這意味著一個n維圖像,它是處理圖像處理操作的子模塊,如輸入、輸出、裁剪、過濾等。


        Ndi.binary_fill_holes用于填充連接到邊界的n維二進制陣列孔和侵入孔。


        基于區(qū)域的分割


        from skimage.filters import sobelelevation_map = sobel(coins)fig, ax = plt.subplots(figsize=(4, 3))ax.imshow(elevation_map, cmap=plt.cm.gray, interpolation='nearest')ax.axis('off')ax.set_title('elevation_map')Text(0.5, 1.0, 'elevation_map')

        在這里,我們從skimage.filters導(dǎo)入sobel模塊,該模塊用于查找輸入圖像中的邊緣。


        Sobel transform 還可以幫助我們找到輸入圖像中的垂直和水平邊緣。


        結(jié)論


        這篇文章用 Python 實現(xiàn)詳細解釋了分割及其兩種重要技術(shù)(基于邊緣的分割和基于區(qū)域的分割)。


        下載1:OpenCV-Contrib擴展模塊中文版教程
        在「小白學(xué)視覺」公眾號后臺回復(fù):擴展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

        下載2:Python視覺實戰(zhàn)項目52講
        小白學(xué)視覺公眾號后臺回復(fù):Python視覺實戰(zhàn)項目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學(xué)校計算機視覺。

        下載3:OpenCV實戰(zhàn)項目20講
        小白學(xué)視覺公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學(xué)習(xí)進階。

        交流群


        歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


        瀏覽 56
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            骚货熟妇 | 乱伦黄色一级片 | 视频一区二区三区免费 | 阿娇囗交全套高清视频 | 老司机三级片 | 在线中文字幕亚洲 | 日日色色 | 日韩porn | 一级一级a爱片免费兔兔软件 | 亚洲AV成人无码久久精品巨臀 |