Programming/DIP

    [DIP] functional plot and image plot.

    $f(x,y)$라는 function으로 image를 모델링할 수 있음. 2개의 독립변수 $x,y$의 함수로 볼 경우, 3D graphics로 그릴 수 있음. 2개의 독립변수에 의해 intensity 또는 brightness가 결정됨. (color 의 경우엔 dependent variable이 여러개로 vector라고 볼 수 있음) 다음은 matplotlib 로 functinal plot 을 수행하는 code snippet 임. from scipy import datasets import cv2 import numpy as np import matplotlib.pyplot as plt img = datasets.face() img_gray = img[...,0] # img_gray = cv2.cvtColo..

    [DIP] Image Quality 관련 정량화 지표들

    다음은 Image Restoration등에서 사용되는 Image Quality를 나타내는 정량적 지표들에 대한 간략한 소개임. (image acquisition에 사용된 장비의 성능의 비교에도 사용됨) 참고로 이 문서에서 다룬 지표들과 달리 ideal image가 존재하는 경우엔 해당 ideal image와의 비교를 통해 얼마나 차이가 나는지를 정량화하는 경우도 있음. 이들 지표들에 대해선 다음 URL를 참고. https://dsaint31.me/mkdocs_site/DIP/cv2/etc/dip_metrics/ BME228 Metrics for Image Quality Image restoration의 경우, image degradation의 원인을 modeling하고 해당 model을 통해 ideal ..

    [DIP] Function plot and Image display

    Image는 수학적으로 independent variable이 2개인 multi-variable function $f(x,y)$로 표시할 수 있음. gray-scale image일 때는 multi-variable scalar-valued function (또는 multi-variate function이라도 부른다) color image라면 multi-variable vector-valued function color image 의 경우, 함숫값이 RGB와 같이 3개의 component를 가진 vector임 용어관련 참고 : https://dsaint31.tistory.com/389 [Math] Multi-variable vs. Multi-variate and Multiple Regression 1. Mu..

    [DIP] Radial distortion : barrel and pincushion distortions

    0. Remapping matrix equation으로 표현할 수 없는 형태(non-linear)의 이미지 모양 변환을 위한 기능. OpenCV에서 cv2.remap() 함수를 통해 제공되며, lens distortion 및 radial distortion등을 모델링하거나 제거하는데 사용가능함. dst = cv2.remap(src, mapx, mapy, interpolation, dst, borderMode, borderValue) src: 입력 이미지 mapx, mapy: x축과 y축으로 이동할 좌표, src와 동일한 크기, dtype=float32 임. dst : 결과 이미지, optional 그 외 : cv2.warpAffine()과 동일 mapx[0][0] = 9.0, mapy[0][0] = 3...

    [DIP] Basic Operations (on a binary image) for Morphological Operations

    Binary image는 pixel intensity로 0 과 1(혹은 255)의 값을 가지며, 주로 set(집합)과 관련된 연산을 통해 Morphological operaton이 처리됨. 화소집합 영상 내에 존재하는 pixel 중, 처리 대상이 되는 object에 해당하는 pixel들의 집합 분야에 따라 해당 대상은 다양함. 일반적으로 “화소집합” 내의 pixel은 1 의 값을, 그 외의 pixel은 0을 값으로 가짐. 기본 연산들 Union 연산 화소집합 간의 Union Intersection 연산 화소 집합 간의 Interception Complement 연산 화소 집합 간의 Complement Difference 연산 화소 집합 간의 차이. Translation 연산 화소 집합 의 이동오른쪽의 결..

    [OpenCV] imshow 창설정 및 종료 처리 (x버튼 처리).

    창 설정 cv2.namedWindow를 통해 미리 창에 대한 title을 지정하여 놓을 수 있음. cv2.namedWindow('image', cv2.WINDOW_NORMAL) # Using resizeWindow() : Below code does not works with cv2.WINDOW_AUTOSIZE # cv2.resizeWindow("image", 300, 700) cv2.WINDOW_AUTOSIZE가 기본으로 2nd argument없이 호출시 선택됨. 읽어들이는 image 크기에 맞춰 window의 크기가 결정됨. cv2.WINDOW_NORMAL로 설정시 window의 크기를 조정가능함.(마우스로 window의 크기를 조절할 수 있음) cv2.WINDOW_GUI_EXPANDED로 설정시 확..