在语义分割中,经常会出现由于数据原因从而导致分割效果比较差,除了一些常用的翻转等图像增强方法,今天本人测试了将部分分割目标数据ps到原始图像上并同时完成标签制作的代码,使模型效果得到了一定提升。
下面是具体的代码,大家有需要可以进行参考:
import numpy as np
import cv2
import os
import random
class image_concat:
def __init__(self, image_path, cover_path, image_savepath, mask_savepath):
#原始图像路径
self.image_path = image_path
#图像保存路径
self.image_savepath = image_savepath
#标签保存路径
self.mask_savepath = mask_savepath
#PS数据集路径
self.cover_path = cover_path
count = 0
for cover_imgname in os.listdir(self.cover_path):
for img_name in os.listdir(self.image_path):
img = os.path.join(self.cover_path, cover_imgname)
cover_image = cv2.imread(img)
image = cv2.imread(os.path.join(self.image_path, img_name))
# 每张图像进行3次随机位置叠加,扩充数据量