DIP
[DIP] Image Stitching
Image Stitching"Image Stitching"은 여러 장의 사진 이미지를 결합하여 하나의 큰 이미지나 파노라마를 만드는 기술임.이 용어는 원래 바느질에서 유래했으며,바느질에서 "stitch"(바늘질)는 바늘과 실을 사용해 천이나 다른 재료를 연결하는 각각의 작은 바늘질을 의미함."Stitching"(스티칭)은 이러한 바늘질을 모아 하나의 큰 구조를 만드는 과정임. Image Patch들을 결합하는 과정도 이와 비슷한 측면이 있으며, 이에 기반해 Image Stitching이라는 용어가 생김.여러 개의 작은 이미지 조각들을 하나의 큰 이미지로 결합하는 과정을 "stitching"(스티칭)이라고 부름.Image Stitching 단계이 과정은 크게 다음의 네 가지 단계로 이루어짐:Alignmen..
[DIP] functional plot and image plot.
functional plot and image plot.Functional 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 datasetsimport cv2import numpy as npimport matplotlib.pyplot as pltimg = datasets.face()img_gr..
[OpenCV] imshow 창설정 및 종료 처리 (x버튼 처리)
imshow 창설정 및 종료 처리 (x버튼 처리)창 설정 관련 arguments 및 options 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의 크기가 결정됨.2nd argument로 cv2.WINDOW_NORMAL를 설정시 window의 크기 조정이 가능함..
[DIP] Dithering
다음은 wikipedia의 정의임. Dither is an intentionally applied form of noise used to randomize quantization error, preventing large-scale patterns such as color banding in images. Dither is routinely used in processing of both digital audio and video data. 즉, 의도적으로 삽입된 noise인데 이를 사람이 보거나 들을 때, quantizaiton error를 randomize하여 최소화된 qunantization error를 느끼게 하는 것이다. 실제로 256 단계의 gray-scale이미지를 0,1의 binary im..
[OpenCV] cv2.cvtColor
OpenCV의 경우, 다양한 color space를 지원함.result_img = cv2.cvtColor(src_img, conversion_flag) 위와 같은 code를 통해 src_img를 다른 color space의 이미지(실제로는 numpy의 ndarray) result_img로 변경할 수 있음. conversion_flag는 매우 다양하지만, 주로 사용하는 건 다음과 같음.cv2.COLOR_BGR2GRAY : BGR(Blue, Green, Red)을 Gray-scale image로cv2.COLOR_BGR2RGB : opencv는 BGR이 기본인지라, matplotlib나 PIL과 같이 쓰려면 RGB로 바꾸어야 함.cv2.COLOR_BGRA2RGBA : opencv는 BGR이 기본인지라, alp..
NumPy : sum, mean, std, and so on
영상을 처리할 때, 영상의 각 pixel intensity에 대해 다양한 통계처리가 필요함. NumPy는 자체적으로 다양한 통계처리 함수들 (집계함수, 또는 Aggregation Function 이라고 불림) 을 제공함. 참고로, 영상 데이터에서는 pixel (or element)의 값이 NaN인 경우가 거의 없으나 다른 matrix나 tensor 데이터의 경우에는 NaN 인 원소를 가질 수 있음. 이 경우, NaN Safe Aggregation Functions를 사용하여 NaN은 무시하고 값을 구할 수 있음. https://ds31x.tistory.com/223 [Tensor] NaN Safe Aggregation Functions NaN (Not a Number) 값을 포함하는 Tensor 인스턴스..