最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+OpenCV繪制多instance的Mask圖像

 更新時間:2022年06月08日 14:03:23   作者:SpikeKing  
Mask圖像中,不同值表示不同的實例(instance)。本文將詳細(xì)為大家講講如何利用OpenCV繪制多instance的Mask圖像,感興趣的可以學(xué)習(xí)一下

目標(biāo):Mask中,不同值表示不同的實例(instance),在原圖中,繪制不同的instance實例,每個實例用不同顏色表示,實例邊界用白色表示。

源碼:

def generate_colors(n_colors, seed=47):
    """
    隨機生成顏色
    """
    np.random.seed(seed)
    color_list = []
    for i in range(n_colors):
        color = (np.random.random((1, 3)) * 0.8).tolist()[0]
        color = [int(j * 255) for j in color]
        color_list.append(color)

    return color_list

def draw_mask_layers(image, mask_layers, mask_tk=1):
    """
    繪制多層的mask,包含mask的邊界,mask中不同值表示不同的instance
    :param image: 3通道圖像
    :param mask_layers: 多instance的mask
    :param mask_tk: 邊界的厚度
    :return: 繪制邊界框
    """
    img_copy = copy.copy(image)

    # 拆分Mask
    h, w = mask_layers.shape[:2]
    mask_id = np.unique(mask_layers)[1:]  # 獲取Mask的ID, 0是背景
    masks = []
    for i in mask_id:
        m = np.zeros((h, w), dtype=bool)
        m[mask_layers == i] = True
        masks.append(m)

    # 繪制顏色區(qū)域
    color_list = generate_colors(len(masks))
    for idx, mask in enumerate(masks):
        img_copy[mask] = color_list[idx]  # 繪制顏色框

    image = cv2.addWeighted(image, 0.5, img_copy, 0.5, 0)  # 合并mask

    # 繪制邊界,邊界不需要透視效果
    for idx, mask in enumerate(masks):
        cnt_mask = np.zeros((h, w))
        cnt_mask[mask] = 255
        cnt_mask = cnt_mask.astype(np.uint8)
        contours, _ = cv2.findContours(cnt_mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
        cv2.drawContours(image, contours, -1, (255, 255, 255), mask_tk)  # 繪制白色邊界

    return image

原圖:

Mask圖像:

以上就是Python+OpenCV繪制多instance的Mask圖像的詳細(xì)內(nèi)容,更多關(guān)于Python OpenCV Mask圖像的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python使用pyecharts繪制簡單的折線圖

    python使用pyecharts繪制簡單的折線圖

    這篇文章講給大家介紹一下python使用pyecharts繪制簡單的折線圖的黨法步驟,文中有詳細(xì)的代碼示例講解,對我們學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • 用tensorflow搭建CNN的方法

    用tensorflow搭建CNN的方法

    本篇文章主要介紹了用tensorflow搭建CNN的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • python中的flask框架Jinja?模板入門教程

    python中的flask框架Jinja?模板入門教程

    這篇文章主要介紹了?python中的flask框架Jinja?模板入門,Jinja?模板其實是?html?文件,一般情況下放在?Flask?工程的?/templates?目錄下,對python?flask?Jinja?模板相關(guān)知識感興趣的朋友一起看看吧
    2022-04-04
  • python的列表List求均值和中位數(shù)實例

    python的列表List求均值和中位數(shù)實例

    這篇文章主要介紹了python的列表List求均值和中位數(shù)實例,具有很好對參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python單元測試簡單示例

    Python單元測試簡單示例

    這篇文章主要介紹了Python單元測試,結(jié)合實例形式分析了Python單元測試的簡單定義、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-07-07
  • python機器學(xué)習(xí)算法與數(shù)據(jù)降維分析詳解

    python機器學(xué)習(xí)算法與數(shù)據(jù)降維分析詳解

    這篇文章主要為大家介紹了python機器學(xué)習(xí)算法與數(shù)據(jù)降維的分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 對numpy Array [: ,] 的取值方法詳解

    對numpy Array [: ,] 的取值方法詳解

    今天小編就為大家分享一篇對numpy Array [: ,] 的取值方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python列表的深復(fù)制和淺復(fù)制示例詳解

    Python列表的深復(fù)制和淺復(fù)制示例詳解

    這篇文章主要給大家介紹了關(guān)于Python列表的深復(fù)制和淺復(fù)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python爬蟲破解字體加密案例詳解

    python爬蟲破解字體加密案例詳解

    這篇文章主要介紹了python爬蟲破解字體加密案例詳解,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • python實現(xiàn)LRU熱點緩存及原理

    python實現(xiàn)LRU熱點緩存及原理

    LRU算法根據(jù)數(shù)據(jù)的歷史訪問記錄來進行淘汰數(shù)據(jù),其核心思想是“如果數(shù)據(jù)最近被訪問過,那么將來被訪問的幾率也更高”。 。這篇文章主要介紹了python實現(xiàn)LRU熱點緩存,需要的朋友可以參考下
    2019-10-10

最新評論

新乡市| 巴青县| 聂拉木县| 长宁区| 咸丰县| 额济纳旗| 任丘市| 通化县| 榆林市| 温宿县| 咸丰县| 阿城市| 甘洛县| 图们市| 阿图什市| 阿图什市| 龙江县| 江陵县| 昌江| 土默特左旗| 岗巴县| 广东省| 凤城市| 罗山县| 双桥区| 宝坻区| 阿瓦提县| 通渭县| 彭山县| 巍山| 吉木萨尔县| 冀州市| 江源县| 宁武县| 公主岭市| 临安市| 依安县| 恭城| 西吉县| 志丹县| 泸西县|