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

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区域实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 利用python实现.dcm格式图像转为.jpg格式

    如下所示: import pydicom import matplotlib.pyplot as plt import scipy.misc import pandas as pd import numpy as np import os def Dcm2jpg(file_path): #获取所有图片名称 c = [] names = os.listdir(file_path) #路径 #将文件夹中的文件名称与后边的 .dcm分开 for name in names: index = name.

  • Python+OpenCV感兴趣区域ROI提取方法

    方法一:使用轮廓 步骤1 """src为原图""" ROI = np.zeros(src.shape, np.uint8) #感兴趣区域ROI proimage = src.copy() #复制原图 """提取轮廓""" proimage=cv2.cvtColor(proimage,cv2.COLOR_BGR2GRAY) #转换成灰度图 proimage=cv2.adaptiveThre

  • python读取dicom图像示例(SimpleITK和dicom包实现)

    1. 用SimpleITK读取dicom序列: import SimpleITK as sitk import numpy as np img_path='F:\\dataset\\pancreas\\Output\\thick\\original\\1' mask_path='F:\\dataset\\pancreas\\Output\\thick\\groundtruth\\1' reader = sitk.ImageSeriesReader() img_names = reader.Get

  • Python图像处理PIL各模块详细介绍(推荐)

    Image模块 Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内.如open.save.conver.show-等功能. open类 Image.open(file) ⇒ image Image.open(file, mode) ⇒ image 要从文件加载图像,使用 open() 函数, 在 Image 模块: @zhangziju from PIL import Image ##调用库 im = Image.open("E:\mywif

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

    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.joi

  • python中的opencv 图像分割与提取

    目录 图像分割与提取 用分水岭算法实现图像分割与提取 算法原理 相关函数介绍 分水岭算法图像分割实例 交互式前景提取 图像分割与提取 图像中将前景对象作为目标图像分割或者提取出来.对背景本身并无兴趣分水岭算法及GrabCut算法对图像进行分割及提取. 用分水岭算法实现图像分割与提取 分水岭算法将图像形象地比喻为地理学上的地形表面,实现图像分割,该算法非常有效. 算法原理 任何一幅灰度图像,都可以被看作是地理学上的地形表面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷. 左图是原

  • Python实现图像去雾效果的示例代码

    目录 修改部分 训练测试 数据集 下载地址 修改部分 我利用该代码进行了去雾任务,并对原始代码进行了增删,去掉了人脸提取并对提取人脸美化的部分,如下图 增改了一些数据处理代码,Create_Bigfile2.py和Load_Bigfilev2为特定任务需要加的代码,这里数据处理用的是原始方法,即将训练数据打包成一个文件,一次性载入,可能会内存爆炸.去雾的如下 另外,为了节省内存,可以不使用原始方法,我改写了online_dataset_for_odl_photos.py文件 用于我的加雾论文,此

  • Python实现图像随机添加椒盐噪声和高斯噪声

    目录 1.常见的图像噪声 (1)高斯噪声 (2) 椒盐噪声 2.生成图像噪声 (1)高斯噪声 (2) 椒盐噪声(速度慢) (3) 椒盐噪声(快速版) 3. Demo性能测试 图像噪声是指存在于图像数据中的不必要的或多余的干扰信息.在噪声的概念中,通常采用信噪比(Signal-Noise Rate, SNR)衡量图像噪声.通俗的讲就是信号占多少,噪声占多少,SNR越小,噪声占比越大. 1.常见的图像噪声 (1)高斯噪声 高斯噪声Gaussian noise,是指它的概率密度函数服从高斯分布(即正态

  • 利用Python裁切tiff图像且读取tiff,shp文件的实例

    我就废话不多说了,还是直接看代码吧! from osgeo import gdal, gdalnumeric, ogr from PIL import Image, ImageDraw from osgeo import gdal_array import os import operator from functools import reduce gdal.UseExceptions() def readTif(fileName): dataset = gdal.Open(fileName)

  • 详解python opencv图像混合算术运算

    目录 图片相加 cv2.add() 按位运算 图片相加 cv2.add() 要叠加两张图片,可以用 cv2.add() 函数,相加两幅图片的形状(高度 / 宽度 / 通道数)必须相同.         numpy中可以直接用res = img + img1相加,但这两者的结果并不相同(看下边代码):         add()两个图片进行加和,大于255的使用255计数.         numpy会对结果取256(相当于255+1)的模: import numpy as np import c

  • 基于Python实现图像文字识别OCR工具

    目录 引言 功能列表 OCR部分 界面部分 软件代码 参考链接 引言 最近在技术交流群里聊到一个关于图像文字识别的需求,在工作.生活中常常会用到,比如票据.漫画.扫描件.照片的文本提取. 博主基于 PyQt + PaddleOCR 写了一个桌面端的OCR工具,用于快速实现图片中文本区域自动检测+文本自动识别. 识别效果如下图所示: 所有框选区域为OCR算法自动检测,右侧列表有每个框对应的文字内容: 点击右侧"识别结果"中的文本记录,然后点击"复制到剪贴板"即可复制该

  • python opencv图像的高通滤波和低通滤波的示例代码

    目录 前言 完整代码 低通滤波 高通滤波 结果展示 低通滤波 高通滤波 前言 上一章我们说明了如何将图像机娘傅里叶变换,将图像由时域变换成频域,并将低频移动至图像中心.那么将低频移动中心后,就可以将图像的低频和高频分开,从而进行低通滤波和高通滤波的处理. 完整代码 低通滤波 import cv2 import numpy as np import matplotlib.pyplot as plt # cv2.imread()在读取图像的时候,默认的是读取成RGB图像,cv2.IMREAD_GRA

  • 详解Python计算机视觉 图像扭曲(仿射扭曲)

    对图像块应用仿射变换,我们将其称为图像扭曲(或者仿射扭曲).该操作不仅经常应用在计算机图形学中,而且经常出现在计算机视觉算法中. 一.仿射变换原理 仿射变换能够保持图像的"平直性",包括旋转,缩放,平移,错切操作.对于三个点,仿射变换可以将一副图像进行扭曲,使得三对对应点对可以完美地匹配上.仿射变换具有6个自由度,有三个对应点对可以给出6个约束条件(对于这三个对应点对,x和y坐标必须都要匹配) 仿射变换是在几何上定义为两个向量空间之间的一个仿射变换或者仿射映射.由一个非奇异的线性变换(

  • 使用Python给头像加上圣诞帽或圣诞老人小图标附源码

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhihu.com/p/32283641 主要流程 素材准备 人脸检测与人脸关键点检测 调整大小,添加帽子 用dlib的正脸检测器进行人脸检测,用dlib提供的模型提取人脸的五个关键点 调整帽子大小,带帽 选取两个眼角的点,求中心作为放置帽子的x方向的参考坐标,y方向的坐标用人脸框上线的y坐标表示.然后我

随机推荐