RSDP_Homework #1

지토·2022년 4월 7일
0

경희대학교 소프트웨어융합학과 황효석 교수님의 2022-1 로봇센서데이터처리 숙제입니다.

Goal

  • Implementation of own image toolbox app
  • The app can process images as :
    - Bright / contrast adjustment
    • Edge extraction
    • Rotation
    • Zoom
    • Denoising

이 GUI 상의 몇 개의 버튼에 해당하는 기능이 구현되어 있지 않으므로, 그 기능들을 구현하여 앱을 정상적으로 동작하도록 하면 된다.

제공하는 파일

  1. main.py

GUI 를 띄우고, 버튼이 눌러졌을 때 callback 함수를 호출하는 등등의 메인 기능을 한다.

  1. video.py

실시간으로 화면을 캡쳐하기 위한 파일.

  1. khu.jpg

  2. homework.py

Bright / Contrast

def bright_contrast(self, img, a,b):
  • img : input image (RGB)
  • a : bright change value (-100 ~ 100)
  • b : contrast change value (0.5 ~ 2.0)
  • return img_result

Contrast should be applied to image of range [0~1]
(convert image to float)
Result image should be crop in range [0~255]

Edge detection

  • img : input image
  • return : img_result

You can implement this function using either Sobel matrix or Canny edge detector.

Zoom

  • img : input image
  • z : scale factor (0.5 ~ 2.0)
  • return image_result

Up/Down scale of original image should be performed based on the center point of the image.

확대/축소의 기준은 영상의 중심이 되어야 한다.

Black holes (among pixels) are not allowed. Use inverse transformation.

확대된 영상의 픽셀 사이에 구멍이 보여서는 안 된다. 이러기 위해서는 원본 영상을 타겟 영상으로 변환해서는 안 되고, 타겟 영상의 모든 픽셀을 기준으로 원본 영상의 어디에서 픽셀값을 가져와야 하는지를 판단해야 한다.

Background color is black.

영상을 줄이게 되면 생기는 바깥 면은 까만색으로 채워주어야 한다.

Rotation

  • img : input image
  • r : rotation angle. Count-clock wise. in degree.
  • return : image_result

Rotation of original iamge should be performed based on the center point of the image.

Black holes (among pixels) are not allowed. Use inverse transformation.

denoising

  • img : input image
  • return : img_result

You can implement denoising algorithm by using any methods. (FFT - iFFT, Median-Filter, ext).

노이즈를 제거하는 방법은 다양하게 사용할 수 있다. 실습 때 사용했던 푸리에 - 역푸리에 필터를 사용해도 되고, OpenCV 에 있는 Median filter 등을 사용해도 된다.

PSNR of noisy image and denoising image should be higher than 18.

영상의 품질을 측정하는 기준에는 PSNR 이라는 것이 있다. (Peak Siganl Noise Ratio) 이 값이 높으면 높을 수록 원본 영상에 가깝다고 평가할 수 있는 지표이다.

이 값이 적어도 18 이상이 나오도록 구현해야 한다.

Scoring Criteria

  • Brightness
    - is the result image in the range of 0 ~ 255 ?
    • Does contrast applied in the range of 0 ~ 1 ?
  • Zoom
    - Was it performed relative to the image center ?
    • Is there any black hole ?
  • Denoising
    - Max (PSNR - 18) * 10.0

0개의 댓글