图像分割扣出掩码部分图像,背景换白色

接上一篇博客:https://blog.csdn.net/weixin_63356640/article/details/129407332?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129407332%22%2C%22source%22%3A%22weixin_63356640%22%7D

目的: 扣出图片中掩码部分图像,背景换成白色。

代码:

import os
import cv2
from PIL import Image
import numpy as np
img_root = "D:/data/grab/video_frames/frames_ce/3000" #图片路径
img_root1 ="D:/study/test_data/only_mask" #掩码路径
save_root = "D:/study/test_data/only_mask_png" #保存扣出掩码部分图片的路径
fileList = os.listdir(img_root)  #将文件夹中文件转为列表形式
fileList1= os.listdir(img_root1)
n = 0
# load image
for n in range(3000): #批量处理3000张图片
        image = Image.open(os.path.join(img_root, fileList[n])) #拼接图片路径,打开图片
        image1= Image.open(os.path.join(img_root1, fileList1[n]))
        img = np.array(image.convert('RGB')) #将图片转化为张量形式
        img1 = np.array(image1.convert('RGB'))
        sq = img1.shape #图片尺寸
        len = sq[0]
        width = sq[1]
        for i in range(0, len):
             for j in range(0, width):
                  if  img1[i, j].sum() <= 65:
                        img1[i, j] = img[i, j] #遍历图片,像素值小于65的部分赋值真实图像原始值
        img1 =cv2.cvtColor(img1, cv2.COLOR_BGR2RGB) #cv2读取的bgr通道转为rbg,否则图片偏蓝
        cv2.imwrite(os.path.join(save_root, fileList[n]), img1)
        n+=1

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值