44 lines
1.9 KiB
Python
44 lines
1.9 KiB
Python
|
|
import os
|
|
import cv2
|
|
from warp import Curve, Distort, Stretch
|
|
from geometry import Rotate, Perspective, Shrink, TranslateX, TranslateY
|
|
from pattern import VGrid, HGrid, Grid, RectGrid, EllipseGrid
|
|
from noise import GaussianNoise, ShotNoise, ImpulseNoise, SpeckleNoise
|
|
from blur import GaussianBlur, DefocusBlur, MotionBlur, GlassBlur, ZoomBlur
|
|
from camera import Contrast, Brightness, JpegCompression, Pixelate
|
|
from weather import Fog, Snow, Frost, Rain, Shadow
|
|
from process import Posterize, Solarize, Invert, Equalize, AutoContrast, Sharpness, Color
|
|
|
|
from PIL import Image
|
|
import PIL.ImageOps
|
|
import numpy as np
|
|
import argparse
|
|
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--image', default="images/delivery.png", help='Load image file')
|
|
parser.add_argument('--results', default="results", help='Load image file')
|
|
parser.add_argument('--gray', action='store_true', help='Convert to grayscale 1st')
|
|
opt = parser.parse_args()
|
|
os.makedirs(opt.results, exist_ok=True)
|
|
|
|
img = Image.open(opt.image)
|
|
img = img.resize( (100,32) )
|
|
ops = [Curve(), Rotate(), Perspective(), Distort(), Stretch(), Shrink(), TranslateX(), TranslateY(), VGrid(), HGrid(), Grid(), RectGrid(), EllipseGrid()]
|
|
ops.extend([GaussianNoise(), ShotNoise(), ImpulseNoise(), SpeckleNoise()])
|
|
ops.extend([GaussianBlur(), DefocusBlur(), MotionBlur(), GlassBlur(), ZoomBlur()])
|
|
ops.extend([Contrast(), Brightness(), JpegCompression(), Pixelate()])
|
|
ops.extend([Fog(), Snow(), Frost(), Rain(), Shadow()])
|
|
ops.extend([Posterize(), Solarize(), Invert(), Equalize(), AutoContrast(), Sharpness(), Color()])
|
|
for op in ops:
|
|
for mag in range(3):
|
|
filename = type(op).__name__ + "-" + str(mag) + ".png"
|
|
out_img = op(img, mag=mag)
|
|
if opt.gray:
|
|
out_img = PIL.ImageOps.grayscale(out_img)
|
|
out_img.save(os.path.join(opt.results, filename))
|
|
|
|
|