5行Python代碼實(shí)現(xiàn)圖像分割的步驟詳解
眾所周知圖像是由若干有意義的像素組成的,圖像分割作為計(jì)算機(jī)視覺的基礎(chǔ),對(duì)具有現(xiàn)有目標(biāo)和較精確邊界的圖像進(jìn)行分割,實(shí)現(xiàn)在圖像像素級(jí)別上的分類任務(wù)。

圖像分割可分為語義分割和實(shí)例分割兩類,區(qū)別如下:
- 語義分割:將圖像中每個(gè)像素賦予一個(gè)類別標(biāo)簽,用不同的顏色來表示;
- 實(shí)例分割:無需對(duì)每個(gè)像素進(jìn)行標(biāo)記,只需要找到感興趣物體的邊緣輪廓。
圖像分割通常應(yīng)用如下所示:
- 專業(yè)檢測(cè):應(yīng)用于專業(yè)場(chǎng)景的圖像分析,比如在衛(wèi)星圖像中識(shí)別建筑、道路、森林,或在醫(yī)學(xué)圖像中定位病灶、測(cè)量面積等;
- 智能交通:識(shí)別道路信息,包括車道標(biāo)記、交通標(biāo)志等。
本博客主要通過PixelLib模塊幫助用戶快速便捷實(shí)現(xiàn)圖像分割。

1、環(huán)境部署
在進(jìn)行項(xiàng)目設(shè)計(jì)前,需要安裝所需的第三方庫(kù)文件:TensorFlow、Pillow、OpenCV-Python、scikit-image和PixelLib,指令如下所示:
pip install tensorflow pip install pillow pip install opencv-python pip install scikit-image pip install pixellib
2、語義分割
PixelLib使用Deeplabv3+框架實(shí)現(xiàn)語義分割,在pascalvoc數(shù)據(jù)集上訓(xùn)練的Xception模型用于語義分割。
第1步:導(dǎo)入PixelLib模塊,代碼如下所示:
import pixellib from pixellib.semantic import semantic_segmentation
第2步:創(chuàng)建用于執(zhí)行語義分割的類實(shí)例,代碼如下所示:
segment_image = semantic_segmentation()
第3步:調(diào)用load_pascalvoc_model()函數(shù)加載在Pascal voc上訓(xùn)練的Xception模型,代碼如下所示:
segment_image.load_pascalvoc_model("deeplabv3_xception_tf_dim_ordering_tf_kernels.h5")
第4步:調(diào)用segmentAsPascalvoc()函數(shù)對(duì)圖像進(jìn)行分割,并且分割采用pascalvoc的顏色格式進(jìn)行。此函數(shù)有兩個(gè)必選參數(shù):
- path_to_image:分割的目標(biāo)圖像的路徑;
- path_to_output_image:保存分割后輸出圖像的路徑。
將路徑替換為自己環(huán)境路徑即可,代碼如下所示:
segment_image.segmentAsPascalvoc("path_to_image", output_image_name = "path_to_output_image")
上傳圖像,語義分割后效果如下所示:

也可以生成了帶有分段疊加層的圖像,只需要將segmentAsPascalvoc()函數(shù)的overlay屬性設(shè)置為True,代碼如下所示:
segment_image.segmentAsPascalvoc("sample1.jpg", output_image_name = "image_new.jpg", overlay = True)
分段疊加層效果如下所示:

3、即時(shí)分割
PixelLib的實(shí)例分割基于MaskRCNN框架實(shí)現(xiàn),也僅需5行Python代碼實(shí)現(xiàn)。
第1步:導(dǎo)入PixelLib模塊,代碼如下所示:
import pixellib from pixellib.instance import instance_segmentation
第2步:導(dǎo)入用于執(zhí)行實(shí)例細(xì)分的類并創(chuàng)建該類的實(shí)例,代碼如下所示:
segment_image = instance_segmentation()
第3步:調(diào)用load_model()函數(shù)加載Mask RCNN模型以執(zhí)行實(shí)例分割的代碼,代碼如下所示:
segment_image.load_model("mask_rcnn_coco.h5")
第4步:調(diào)用segmentImage()函數(shù)對(duì)圖像執(zhí)行實(shí)例分割。此函數(shù)有兩個(gè)必選參數(shù):
- path_to_image:模型要預(yù)測(cè)的圖像的路徑;
- output_image_name:保存分割結(jié)果的路徑。
將路徑替換為自己環(huán)境路徑即可,代碼如下所示:
segment_image.segmentImage("path_to_image", output_image_name = "output_image_path")
上傳圖像,即時(shí)分割后效果如下所示:

也可以生成分割蒙版邊界框,只需要將show_bboxes()函數(shù)的overlay屬性設(shè)置為True,代碼如下所示:
segment_image.segmentImage("sample2.jpg", output_image_name = "image_new.jpg", show_bboxes = True)
生成分割蒙版邊界框效果如下所示:

到此這篇關(guān)于5行Python代碼實(shí)現(xiàn)圖像分割的步驟詳解的文章就介紹到這了,更多相關(guān)Python 圖像分割內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
樹莓派4B+opencv4+python 打開攝像頭的實(shí)現(xiàn)方法
這篇文章主要介紹了樹莓派4B+opencv4+python 打開攝像頭的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的示例代碼
學(xué)生管理系統(tǒng)是一個(gè)常見的應(yīng)用程序,它可以幫助學(xué)校、教育機(jī)構(gòu)或教師管理學(xué)生的信息,本文將介紹如何利用Python開發(fā)一個(gè)學(xué)生管理系統(tǒng),需要的可以參考一下2023-07-07
Python第三方庫(kù)的幾種安裝方式(小結(jié))
這篇文章主要介紹了Python第三方庫(kù)的幾種安裝方式(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
如何利用Python實(shí)現(xiàn)給Excel表格截圖
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)給Excel表格截圖功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
基于Python實(shí)現(xiàn)Excel轉(zhuǎn)Markdown表格
Markdown(也簡(jiǎn)稱md)作為一種輕量級(jí)標(biāo)記語言,因其易寫易讀,效果美觀大方,不僅被眾多網(wǎng)站使用,也是程序員們做筆記、寫文檔的首選。本文將利用Python實(shí)現(xiàn)Excel轉(zhuǎn)Markdown表格,感興趣的可以了解一下2022-04-04
Python獲取Linux系統(tǒng)下的本機(jī)IP地址代碼分享
這篇文章主要介紹了Python獲取Linux系統(tǒng)下的本機(jī)IP地址代碼分享,本文直接給出實(shí)現(xiàn)代碼,可以獲取到eth0等網(wǎng)卡的IP地址,需要的朋友可以參考下2014-11-11
pytorch 圖像預(yù)處理之減去均值,除以方差的實(shí)例
今天小編就為大家分享一篇pytorch 圖像預(yù)處理之減去均值,除以方差的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python aiohttp百萬并發(fā)極限測(cè)試實(shí)例分析
這篇文章主要介紹了Python aiohttp百萬并發(fā)極限測(cè)試,結(jié)合實(shí)例形式分析了Python異步編程基于aiohttp客戶端高并發(fā)請(qǐng)求的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2019-10-10

