这里面先使用opencv自带的图片进行与操作bitwise_and,就可以得到抠出来的roi区域,然后对mask区域取反bitwise_not,在与原图片相与得到背景图片。接下来就可以对抠出来的图片进行一系列操作,这里面我做的是减去一个均值。最后将修改后的roi区域,以及背景图相加就可以得到新的融合后的图片。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/4/23 23:01
# @Author : caius
# @Site :
# @File : test.py
# @Software: PyCharm
import matplotlib.pyplot as plt
import cv2
import os, glob
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
id_to_trainid = {1: 1, 2: 1,
3: 1, 11: 2, 12: 2, 13: 2, 14:2,255:0}
# id_to_trainid = {1: 1, 2: 1,
# 3: 1, 11: 1, 12: 1, 13: 1, 14:1,255:0}
mean = 10
def get_palette(num_cls):
""" Returns the color map for visualizing the segmentation mask.
Args:
num_cls: Number of classes
Returns:
The color map
"""
n = num_cls
palette = [