[OpenCV] cv2.cvtColor
·
Programming/DIP
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..
[Math] Hessian: Summary
·
Programming/DIP
이 문서는 Numerator Layout Convention 을 사용함.Hessian : Summary 2nd order derivative of multivariable function.여기서 multivariable function은 입력은 vector, 출력은 scalar 인 함수를 의미함: ML에서의 loss function을 생각해 볼 것.Hessian matrix $H[f](\textbf{x})$는 다음과 같음.$$\begin{aligned}H[f](\textbf{x})=H(\textbf{x})&=\left(J\left[\nabla f(\textbf{x})\right]\right)^\top \\ &= \begin{bmatrix}\dfrac{\partial^2 f}{\partial x_1^2} ..
PIL과 opencv에서의 image 변환.
·
Programming/DIP
PIL과 opencv에서의 image 변환.필요성tensorflow 나, pytorch등에서 에서의 image를 이용한 이미지 로딩의 경우,PIL.Image.Image를 기본적으로 이미지를 위한 class 타입으로 사용함.from tensorflow.keras.preprocessing import imageimage_tf = image.load_img('test.gif')print(f'type : {type(image_tf)}') 결과는 다음과 같음type :  opencv or scikit-image를 이용한 전처리 수행하고 싶은 경우에는 이 두 라이브러리의 데이터 간 변환이 필요함.간단한 전처리가 아닌 computer vision 분야의 알고리즘을 이용하려고 할 경우, opencv 또는 scikit-..
Conda backup for DIP 2021
·
Programming/DIP
Pre-requirements conda : 4.10.3 (miniconda) yml file : 참고 conda env export --from-history > dip2021.yml cmd conda env create -f dip2021.yml dip라는 이름의 virtual env 생성됨. opencv, matplotlib, scikit-image, jupyterlab, git 등의 패키지 설치됨. 삭제하기 설치한 virtual env 삭제하려면 다음을 수행. codna env remove -n dip References Exporting an environment file across platforms(conda.io)
NumPy : sum, mean, std, and so on
·
Programming/DIP
영상을 처리할 때, 영상의 각 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 인스턴스..
NumPy 검색
·
Programming/DIP
np.wherenumpy.where(condition[, x, y]) :Return elements chosen from x or y depending on condition.condition : 검색에 사용될 조건.x : condition이 True에 해당하는 위치에 지정되는 값 또는 array (검색에 사용된 ndarray로 broadcast처리 가능한 shape이어야 함)y : condition이 False에 해당하는 위치에 지정되는 값 또는 array (검색에 사용된 ndarray로 broadcast처리 가능한 shape이어야 함)반환값x,y를 설정해준 경우엔 조건에 따라 해당 값으로 채워진 ndarray임.아닌 경우, condition에 True에 해당하는 위치의 idx. ndim 2인 ndar..