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使用gensim计算文档相似性

pre_file.py #-*-coding:utf-8-*- import MySQLdb import MySQLdb as mdb import os,sys,string i...

Python实现发送QQ邮件的封装

Python实现发送QQ邮件的封装

本文实例为大家分享了Python实现发送QQ邮件的封装代码,供大家参考,具体内容如下 封装code import smtplib from email.mime.image impo...

python 实现数组list 添加、修改、删除的方法

数组是一种有序的集合,可随时添加、删除其中的元素 book = ['xiao zhu pei qi','xiao ji qiu qiu','tang shi san bai shou...

python 输入一个数n,求n个数求乘或求和的实例

求和 try: while True: n=input() s=1 for x in raw_input().split(): s=s+int(x) prin...

Python坐标线性插值应用实现

Python坐标线性插值应用实现

一、背景 在野外布设700米的测线,点距为10米,用GPS每隔50米测量一个坐标,再把测线的头和为测量一个坐标。现在需使用线性插值的方法求取每两个坐标之间的其他4个点的值。 二、插值原...