sju-coml / 2020-Font-picker

SAI I 트리케라톱스 팀의 Font-Picker
6 stars 1 forks source link

Applying Image processing (Morphological Transform) #15

Open khodid opened 3 years ago

khodid commented 3 years ago

영상처리의 모폴로지 연산 기법을 이용해 Interpolation 중간 과정의 폰트들이 좀더 잡음 없이 깔끔한 형태를 띄도록 만들어봤다.

import cv2

def processed_image(img, kernel_size= 5, kernel_shape= 'ellipse', iteration = 1):
  # [kernel shape] DEFAULT: 'ellipse', OPTION: 'ellipse', 'rect', 'cross'

  if kernel_shape == 'ellipse':
    kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (kernel_size, kernel_size))
  elif kernel_shape == 'rect':
    kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (kernel_size, kernel_size))
  elif kernel_shape == 'cross':
    kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (kernel_size, kernel_size))
  else:
    print('[warning] wrong \'kernel_shape\' input. Try with \'ellipse\', \'rect\' or \'cross\'.')

  result_img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel, iterations= 1)
  result_img = cv2.morphologyEx(result_img, cv2.MORPH_CLOSE, kernel, iterations= 1)

  return result_img