python给图像加上mask,并提取mask区域实例

yipeiwu_com6年前Python基础

python对图像提取mask部分:

代码:

#coding:utf-8
import os
import cv2
import numpy as np

def add_mask2image_binary(images_path, masks_path, masked_path):
# Add binary masks to images
  for img_item in os.listdir(images_path):
    print(img_item)
    img_path = os.path.join(images_path, img_item)
    img = cv2.imread(img_path)
    mask_path = os.path.join(masks_path, img_item[:-4]+'.png') # mask是.png格式的,image是.jpg格式的
    mask = cv2.imread(mask_path, cv2.IMREAD_GRAYSCALE) # 将彩色mask以二值图像形式读取
    masked = cv2.add(img, np.zeros(np.shape(img), dtype=np.uint8), mask=mask) #将image的相素值和mask像素值相加得到结果
    cv2.imwrite(os.path.join(masked_path, img_item), masked)
images_path = '/home/xinan/cat_test/image/'
masks_path = '/home/xinan/cat_test/catmask/'
masked_path = '/home/xinan/cat_test/masked/'
add_mask2image_binary(images_path, masks_path, masked_path)

效果图:

mask:

image:

result:

以上这篇python给图像加上mask,并提取mask区域实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python解惑之True和False详解

Python解惑之True和False详解

前言 众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分别用True和False表示。在if 条件判断和while 语句中经常用到,不过在Py...

Python中最大最小赋值小技巧(分享)

码代码时,有时候需要根据比较大小分别赋值: import random seq = [random.randint(0, 1000) for _ in range(100)] #方法...

Python学习_几种存取xls/xlsx文件的方法总结

Python学习_几种存取xls/xlsx文件的方法总结

想在深度学习程序运行时动态存下来一些参数。 存成Excel文件查看方便,就查了几种方法,做个测试。因为我平常也不怎么用 Excel,简单的存取数据就够了。 xlwt/xlrd库 存Exc...

PyCharm下载和安装详细步骤

PyCharm下载和安装详细步骤

PyCharm下载和安装 进入https://www.jetbrains.com/pycharm/download/官方下载页面(如图 2 所示),可以看到 PyCharm 有 2 个...

Python使用django获取用户IP地址的方法

本文实例讲述了Python使用django获取用户IP地址的方法。分享给大家供大家参考。具体如下: 函数实现: def get_client_ip(request): try:...