国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

5行Python代碼實現(xiàn)圖像分割的步驟詳解

瀏覽:99日期:2022-07-24 15:58:36

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

5行Python代碼實現(xiàn)圖像分割的步驟詳解

圖像分割可分為語義分割和實例分割兩類,區(qū)別如下:

語義分割:將圖像中每個像素賦予一個類別標(biāo)簽,用不同的顏色來表示; 實例分割:無需對每個像素進行標(biāo)記,只需要找到感興趣物體的邊緣輪廓。

圖像分割通常應(yīng)用如下所示:

專業(yè)檢測:應(yīng)用于專業(yè)場景的圖像分析,比如在衛(wèi)星圖像中識別建筑、道路、森林,或在醫(yī)學(xué)圖像中定位病灶、測量面積等; 智能交通:識別道路信息,包括車道標(biāo)記、交通標(biāo)志等。

本博客主要通過PixelLib模塊幫助用戶快速便捷實現(xiàn)圖像分割。

5行Python代碼實現(xiàn)圖像分割的步驟詳解

1、環(huán)境部署

在進行項目設(shè)計前,需要安裝所需的第三方庫文件:TensorFlow、Pillow、OpenCV-Python、scikit-image和PixelLib,指令如下所示:

pip install tensorflowpip install pillowpip install opencv-pythonpip install scikit-imagepip install pixellib

2、語義分割

PixelLib使用Deeplabv3+框架實現(xiàn)語義分割,在pascalvoc數(shù)據(jù)集上訓(xùn)練的Xception模型用于語義分割。

第1步:導(dǎo)入PixelLib模塊,代碼如下所示:

import pixellibfrom pixellib.semantic import semantic_segmentation

第2步:創(chuàng)建用于執(zhí)行語義分割的類實例,代碼如下所示:

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ù)對圖像進行分割,并且分割采用pascalvoc的顏色格式進行。此函數(shù)有兩個必選參數(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')

上傳圖像,語義分割后效果如下所示:

5行Python代碼實現(xiàn)圖像分割的步驟詳解

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

segment_image.segmentAsPascalvoc('sample1.jpg', output_image_name = 'image_new.jpg', overlay = True)

分段疊加層效果如下所示:

5行Python代碼實現(xiàn)圖像分割的步驟詳解

3、即時分割

PixelLib的實例分割基于MaskRCNN框架實現(xiàn),也僅需5行Python代碼實現(xiàn)。

第1步:導(dǎo)入PixelLib模塊,代碼如下所示:

import pixellibfrom pixellib.instance import instance_segmentation

第2步:導(dǎo)入用于執(zhí)行實例細分的類并創(chuàng)建該類的實例,代碼如下所示:

segment_image = instance_segmentation()

第3步:調(diào)用load_model()函數(shù)加載Mask RCNN模型以執(zhí)行實例分割的代碼,代碼如下所示:

segment_image.load_model('mask_rcnn_coco.h5')

第4步:調(diào)用segmentImage()函數(shù)對圖像執(zhí)行實例分割。此函數(shù)有兩個必選參數(shù):

path_to_image:模型要預(yù)測的圖像的路徑; output_image_name:保存分割結(jié)果的路徑。

將路徑替換為自己環(huán)境路徑即可,代碼如下所示:

segment_image.segmentImage('path_to_image', output_image_name = 'output_image_path')

上傳圖像,即時分割后效果如下所示:

5行Python代碼實現(xiàn)圖像分割的步驟詳解

也可以生成分割蒙版邊界框,只需要將show_bboxes()函數(shù)的overlay屬性設(shè)置為True,代碼如下所示:

segment_image.segmentImage('sample2.jpg', output_image_name = 'image_new.jpg', show_bboxes = True)

生成分割蒙版邊界框效果如下所示:

5行Python代碼實現(xiàn)圖像分割的步驟詳解

到此這篇關(guān)于5行Python代碼實現(xiàn)圖像分割的步驟詳解的文章就介紹到這了,更多相關(guān)Python 圖像分割內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 邹平县| 杭锦后旗| 尼勒克县| 白城市| 稷山县| 商丘市| 镇雄县| 健康| 甘洛县| 贵州省| 武川县| 鹤山市| 松潘县| 商水县| 寿阳县| 镇安县| 太和县| 深州市| 德江县| 合阳县| 屏南县| 会理县| 婺源县| 进贤县| 如东县| 颍上县| 特克斯县| 潮州市| 伊川县| 大同市| 广平县| 开江县| 双辽市| 道真| 罗江县| 庆城县| 循化| 呼和浩特市| 固镇县| 清水县| 夏河县|