summaryrefslogtreecommitdiff
path: root/megapixels/commands/misc/compare_sres.py
blob: b96570fe7d61b975f4a6407bd20d2542ab5df679 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import click


@click.command()
@click.option('-i', '--orig', 'opt_dir_in_orig', required=True,
  help='Input directory')
@click.option('-n', '--new', 'opt_dir_in_new', required=True,
  help='Input directory files to compare to')
@click.pass_context
def cli(ctx, opt_dir_in_orig, opt_dir_in_new):
  """Compare quality of super resolution images"""

  import os

  import sys
  from os.path import join
  from pathlib import Path
  from glob import glob

  from random import randint
  from PIL import Image, ImageOps, ImageFilter
  from pathlib import Path
  import cv2 as cv

  from app.settings import types
  from app.utils import click_utils
  from app.settings import app_cfg as cfg
  from app.utils import file_utils, im_utils, logger_utils
  
  log = logger_utils.Logger.getLogger()

  fp_ims = glob(join(opt_dir_in_new, '*.jpg'))
  fp_ims += glob(join(opt_dir_in_new, '*.png'))

  log.info('{}'.format(len(fp_ims)))

  while True:
    rn = randint(0, len(fp_ims) - 1)
    fp_im_new = fp_ims[rn]
    fp_im_orig = fp_im_new.replace(opt_dir_in_new, opt_dir_in_orig)
    log.info('new: {}'.format(fp_im_new))
    log.info('orig: {}'.format(fp_im_orig))

    im_new = cv.imread(fp_im_new)
    im_orig = cv.imread(fp_im_orig)

    # show
    cv.imshow('new', im_new)
    cv.imshow('orig', im_orig)

    # handle key io
    k = cv.waitKey(0) & 0xFF
    if k == 27 or k == ord('q'):  # ESC
      # exits the app
      cv.destroyAllWindows()
      sys.exit('Exiting because Q or ESC was pressed')
    elif k == ord(' ') or k == 81 or k == 83:
      continue