Exemple #1
0
def main():

    if os.path.isdir(opt.media_path):
        files = util.Traversal(opt.media_path)
    else:
        files = [opt.media_path]
    if opt.mode == 'add':
        netS = loadmodel.bisenet(opt, 'roi')
        for file in files:
            opt.media_path = file
            if util.is_img(file):
                core.addmosaic_img(opt, netS)
            elif util.is_video(file):
                core.addmosaic_video(opt, netS)
                util.clean_tempfiles(opt, tmp_init=False)
            else:
                print('This type of file is not supported')
            util.clean_tempfiles(opt, tmp_init=False)

    elif opt.mode == 'clean':
        netM = loadmodel.bisenet(opt, 'mosaic')
        if opt.traditional:
            netG = None
        elif opt.netG == 'video':
            netG = loadmodel.video(opt)
        else:
            netG = loadmodel.pix2pix(opt)

        for file in files:
            opt.media_path = file
            if util.is_img(file):
                core.cleanmosaic_img(opt, netG, netM)
            elif util.is_video(file):
                if opt.netG == 'video' and not opt.traditional:
                    core.cleanmosaic_video_fusion(opt, netG, netM)
                else:
                    core.cleanmosaic_video_byframe(opt, netG, netM)
                util.clean_tempfiles(opt, tmp_init=False)
            else:
                print('This type of file is not supported')

    elif opt.mode == 'style':
        netG = loadmodel.style(opt)
        for file in files:
            opt.media_path = file
            if util.is_img(file):
                core.styletransfer_img(opt, netG)
            elif util.is_video(file):
                core.styletransfer_video(opt, netG)
                util.clean_tempfiles(opt, tmp_init=False)
            else:
                print('This type of file is not supported')

    util.clean_tempfiles(opt, tmp_init=False)
Exemple #2
0
def main():
    if os.path.isdir(opt.media_path):
        files = util.Traversal(opt.media_path)
    else:
        files = [opt.media_path]

    if opt.mode == 'clean':
        netM = loadmodel.bisenet(opt, 'mosaic')
        if opt.traditional:
            netG = None
        else:
            netG = model.netG

        for file in files:
            opt.media_path = file
            if z_util.is_img(file):
                core.cleanmosaic_img(opt, netG, netM)
            elif z_util.is_video(file):
                core.cleanmosaic_video_byframe(opt, netG, netM)
            else:
                print('This type of file is not supported')

    z_util.clean_tempfiles(tmp_init=False)
import os
import numpy as np
import cv2
import random
import csv

import sys
sys.path.append("..")
from util import util,ffmpeg
from util import image_processing as impro

files = util.Traversal('/media/hypo/Media/download')
videos = util.is_videos(files)


video_times = []
useable_videos = []
video_dict = {}
reader = csv.reader(open('./csv/video_used_time.csv'))
for line in reader:
    useable_videos.append(line[0])
    video_times.append(line[1:])
    video_dict[line[0]]=line[1:]

in_cnt = 0
out_cnt = 502
for video in videos:
    if os.path.basename(video) in useable_videos:
        # print(video)
        for i in range(len(video_times[in_cnt])):
            ffmpeg.cut_video(video, video_dict[os.path.basename(video)][i], '00:00:05', './video/'+'%04d'%out_cnt+'.mp4')
Exemple #4
0
                        help='minimal quality')
opt.parser.add_argument('--outsize', type=int, default=286, help='')
opt.parser.add_argument('--startcnt', type=int, default=0, help='')
opt.parser.add_argument('--minsize',
                        type=int,
                        default=96,
                        help='minimal roi size')
opt.parser.add_argument('--no_sclectscene', action='store_true', help='')
opt = opt.getparse()

util.makedirs(opt.savedir)
util.writelog(
    os.path.join(opt.savedir, 'opt.txt'),
    str(time.asctime(time.localtime(time.time()))) + '\n' + util.opt2str(opt))

videopaths = util.Traversal(opt.datadir)
videopaths = util.is_videos(videopaths)
random.shuffle(videopaths)

# def network
net = loadmodel.bisenet(opt, 'roi')

result_cnt = opt.startcnt
video_cnt = 1
starttime = datetime.datetime.now()
for videopath in videopaths:
    try:
        if opt.no_sclectscene:
            timestamps = ['00:00:00']
        else:
            timestamps = []
Exemple #5
0
opt.parser.add_argument('--datadir',
                        type=str,
                        default=' ',
                        help='your images dir')
opt.parser.add_argument('--savedir',
                        type=str,
                        default='../datasets/draw/face',
                        help='')
opt = opt.getparse()

mask_savedir = os.path.join(opt.savedir, 'mask')
img_savedir = os.path.join(opt.savedir, 'origin_image')
util.makedirs(mask_savedir)
util.makedirs(img_savedir)

filepaths = util.Traversal(opt.datadir)
filepaths = util.is_imgs(filepaths)
random.shuffle(filepaths)
print('find image:', len(filepaths))

# mouse callback function
drawing = False  # true if mouse is pressed
ix, iy = -1, -1
brushsize = 20


def draw_circle(event, x, y, flags, param):
    global ix, iy, drawing, brushsize

    if event == cv2.EVENT_LBUTTONDOWN:
        drawing = True
Exemple #6
0
                        default=45,
                        help='minimal quality')
opt.parser.add_argument('--outsize', type=int, default=286, help='')
opt.parser.add_argument('--startcnt', type=int, default=0, help='')
opt.parser.add_argument('--minsize',
                        type=int,
                        default=96,
                        help='minimal roi size')
opt = opt.getparse()

util.makedirs(opt.savedir)
util.writelog(
    os.path.join(opt.savedir, 'opt.txt'),
    str(time.asctime(time.localtime(time.time()))) + '\n' + util.opt2str(opt))

videopaths = util.Traversal(opt.datadir)
videopaths = util.is_videos(videopaths)
random.shuffle(videopaths)

# def network
net = loadmodel.bisenet(opt, 'roi')

result_cnt = opt.startcnt
video_cnt = 1
starttime = datetime.datetime.now()
for videopath in videopaths:
    try:
        timestamps = []
        fps, endtime, height, width = ffmpeg.get_video_infos(videopath)
        for cut_point in range(1, int((endtime - opt.time) / opt.interval)):
            util.clean_tempfiles()
Exemple #7
0
        img_tmp = np.zeros(img_origin.shape)
        img_tmp[y - size:y + size, x - size:x + size] = img_fake
        img_result = img_origin.copy()
        img_result = (img_origin * (1 - mask) + img_tmp * mask).astype('uint8')
    return img_result


netG = loadmodel.pix2pix(os.path.join(opt.model_dir, opt.model_name),
                         opt.model_type_netG,
                         use_gpu=opt.use_gpu)
net_mosaic_pos = loadmodel.unet(os.path.join(opt.model_dir,
                                             opt.mosaic_position_model_name),
                                use_gpu=opt.use_gpu)

filepaths = util.Traversal(opt.input_dir)

for path in filepaths:
    if util.is_img(path):
        print('Clean Mosaic:', path)
        img_origin = cv2.imread(path)
        x, y, size = get_mosaic_position(img_origin)
        img_result = img_origin.copy()
        if size != 0:
            img_mosaic = img_origin[y - size:y + size, x - size:x + size]
            img_fake = runmodel.run_pix2pix(img_mosaic,
                                            netG,
                                            use_gpu=opt.use_gpu)
            img_result = replace_mosaic(img_origin, img_fake, x, y, size)
        cv2.imwrite(os.path.join(opt.result_dir, os.path.basename(path)),
                    img_result)
Exemple #8
0
import os
import numpy as np
import cv2
import random
import csv

import sys
sys.path.append("..")
from util import util, ffmpeg
from util import image_processing as impro

files = util.Traversal('./videos')
videos = util.is_videos(files)
output_dir = './datasets_img/v2im'
util.makedirs(output_dir)
FPS = 1
util.makedirs(output_dir)
for video in videos:
    ffmpeg.continuous_screenshot(video, output_dir, FPS)
Exemple #9
0
        img = impro.resize(impro.imread(imagepaths[i]),opt.loadsize)
        mask = impro.resize(impro.imread(maskpaths[i],mod = 'gray'),opt.loadsize)      
        img,mask = data.random_transform_image(img, mask, opt.finesize, test_flag)
        images[i] = (img.transpose((2, 0, 1))/255.0)
        masks[i] = (mask.reshape(1,1,opt.finesize,opt.finesize)/255.0)
    images = Totensor(images,opt.use_gpu)
    masks = Totensor(masks,opt.use_gpu)

    return images,masks


'''
--------------------------checking dataset--------------------------
'''
print('checking dataset...')
imagepaths = sorted(util.Traversal(dir_img))[:opt.maxload]
maskpaths = sorted(util.Traversal(dir_mask))[:opt.maxload]
data.shuffledata(imagepaths, maskpaths)
if len(imagepaths) != len(maskpaths) :
    print('dataset error!')
    exit(0)
img_num = len(imagepaths)
print('find images:',img_num)
imagepaths_train = (imagepaths[0:int(img_num*0.8)]).copy()
maskpaths_train = (maskpaths[0:int(img_num*0.8)]).copy()
imagepaths_eval = (imagepaths[int(img_num*0.8):]).copy()
maskpaths_eval = (maskpaths[int(img_num*0.8):]).copy()

'''
--------------------------def network--------------------------
'''
Exemple #10
0
#save dir
if opt.hd:
    train_A_path = os.path.join(opt.savedir, 'train_A')
    train_B_path = os.path.join(opt.savedir, 'train_B')
    util.makedirs(train_A_path)
    util.makedirs(train_B_path)
else:
    train_path = os.path.join(opt.savedir, 'train')
    util.makedirs(train_path)
if opt.savemask:
    mask_save_path = os.path.join(opt.savedir, 'mask')
    util.makedirs(mask_save_path)

#read dir
if 'drawn' in opt.mod:
    imgpaths = util.Traversal(os.path.join(opt.datadir, 'origin_image'))
    imgpaths.sort()
    maskpaths = util.Traversal(os.path.join(opt.datadir, 'mask'))
    maskpaths.sort()
if 'network' in opt.mod or 'irregular' in opt.mod:
    imgpaths = util.Traversal(opt.datadir)
    imgpaths = util.is_imgs(imgpaths)
    random.shuffle(imgpaths)
if 'irregular' in opt.mod:
    irrpaths = util.Traversal(opt.irrholedir)

#def network
if 'network' in opt.mod:
    net = loadmodel.bisenet(opt, 'roi')

print('Find images:', len(imgpaths))
    util.makedirs(mask_path)
if MASK:
    mask_path = os.path.join(output_dir, 'mask')
    util.makedirs(mask_path)

transform_mask = transforms.Compose([
    transforms.RandomResizedCrop(size=512, scale=(0.5, 1)),
    transforms.RandomHorizontalFlip(),
])

transform_img = transforms.Compose(
    [transforms.Resize(512),
     transforms.RandomCrop(512)])

mask_names = os.listdir(ir_mask_path)
img_paths = util.Traversal(img_dir)
img_paths = util.is_imgs(img_paths)
print('Find images:', len(img_paths))

for i, img_path in enumerate(img_paths, 1):
    try:
        img = Image.open(img_path)
        img = transform_img(img)
        img = np.array(img)
        img = img[..., ::-1]

        if BOUNDING:
            mosaic_area = 0
            while mosaic_area < 16384:
                mask = Image.open(
                    os.path.join(ir_mask_path,
Exemple #12
0
import os
import sys
sys.path.append("..")
from cores import Options
from util import util, ffmpeg

opt = Options()
opt.parser.add_argument('--datadir',
                        type=str,
                        default='',
                        help='your video dir')
opt.parser.add_argument('--savedir',
                        type=str,
                        default='../datasets/video2image',
                        help='')
opt = opt.getparse()

files = util.Traversal(opt.datadir)
videos = util.is_videos(files)

util.makedirs(opt.savedir)
for video in videos:
    ffmpeg.continuous_screenshot(video, opt.savedir, opt.fps)