본문 바로가기

Image Processing (Python)17

Contrast Limited Adaptive Histogram Equalization (CLAHE) 함수 설명 앞선 포스팅에서 histogram의 분포를 균등하게 만들어줘 contrast를 개선시키는 Histogram Equalization에 대해 설명을 했습니다. https://hanstar4.tistory.com/34 Histogram Equalization (히스토그램 균일화) 함수 설명 이미지의 픽셀값 분포가 특정값에 몰여있다면 그 부분에 대해 눈으로 구별하기 어렵고 이를 contrast가 낮다고 표현합니다. 반면에 픽셀값 분포가 촘촘히 몰려있지 않고 골고루 분포해 hanstar4.tistory.com 하지만 밝은 부분과 어두운 부분이 섞여 있는 이미지 전체에 균일화를 적용하면, 오히려 각 부분의 contrast가 감소할 위험이 있습니다. 위 그림을 보면 모든 영역을 균일하게 적용하다보니 오히려.. 2021. 12. 14.
Histogram Equalization (히스토그램 균일화) 함수 설명 이미지의 픽셀값 분포가 특정값에 몰여있다면 그 부분에 대해 눈으로 구별하기 어렵고 이를 contrast가 낮다고 표현합니다. 반면에 픽셀값 분포가 촘촘히 몰려있지 않고 골고루 분포해 있다면 구별하기 쉬워지고 이를 contarst가 높다고 합니다. Histogram equalization 함수는 몰려있는 히스토그램을 균일하게 퍼트림으로써 이미지의 contrast를 개선하는 방법입니다. 코드 설명 python OpenCV 라이브러리를 사용하였습니다. cv2.equalizeHist(src) 1) src : 바꾸고 싶은 source 이미지 * Grayscale인 1channel 이미지만 가능합니다. 예제 Histogram을 균일하게 만들어주는 예제입니다. Color 이미지의 경우 YCrCb로 변환후 .. 2021. 12. 6.
Edge Detection (윤곽선 검출) 함수 설명 이미지에서 다른 명암을 지닌 두 영역 사이의 경계선(edge)을 추출하는 함수입니다. Edge를 추출함으로써 물체의 모양, 크기, 방향성 등의 정보를 확인할 수 있습니다. 다양한 Edge Detection 중에서 가장 유명한 Canny Edge Detection을 설명하겠습니다. Canny Edge Detection은 총 4단계를 거쳐 Edge를 Detection합니다. 1. Noise reduction 정확도를 높이기 위해 이미지 상의 노이즈를 Gaussian filter를 이용해 줄여줍니다. 2. Gradient 높은 지점 찾기 양 방향 미분 값이 급격히 변하는 지점이 주변과 달라지는 경계 값이므로 해당 부분을 선별합니다. 3. 최대값이 아닌 픽셀 제거 Edge에 기여하지 않는 픽셀을 찾아.. 2021. 12. 1.
Rotate (회전) 함수 설명 이미지를 회전 시킬때 사용하는 함수입니다. 이미지의 중심 pixel을 기준으로 반 시계 방향으로 회전시켜줍니다. 이미지의 크기를 유지하지 않고 회전시키는 방법과 유지시킨 채 회전하는 방법이 있습니다. 이미지의 크기를 유지하면서 회전하게 되면 잘려나가는 부분이 발생하게 됩니다. 코드 설명 python에서 이미지를 회전시키는 방법은 다양합니다. 그 가운데 몇가지 방법에 대해 소개하도록 하겠습니다. 1. OpenCV 라이브러리 * 크기 유지 O matrix = cv2.getRotationMatrix2D((width/2, height/2), angle, 1) output= cv2.warpAffine(src, matrix, (width, height)) 1) src : 바꾸고 싶은 source 이미지 .. 2021. 11. 24.
Denoising (non-local) 함수 설명 Denoising이란 말그대로 노이즈를 없애는 행위를 뜻합니다. 앞서 소개했던 Smoothing 방법 역시 noise를 없애주는 denoising 방법중 하나입니다. https://hanstar4.tistory.com/24 Smoothing 함수 설명 이미지에 흐림효과를 주어 번져보이게 하는 함수입니다. 주로 이미지안에서 노이즈를 줄이거나 경계선을 흐리게 할 때 사용합니다. Smoothing filter에 따라 결과가 달라집니다. 주로 많 hanstar4.tistory.com Smoothing에서 소개했던 방법들은 대상 픽셀을 둘러싸고 있는 픽셀 그룹의 평균값을 가지고 이미지를 부드럽게 만드는 방법들이었습니다. 이러한 방법들은 픽셀 주위의 다른 픽셀들을 활용하는 방법으로 자신의 이웃의 정보들만.. 2021. 11. 23.
Color Space Change (색공간 변경) 함수 설명 색공간은 색의 3가지 속성인 색상, 명도, 채도를 3차원 공간안에서 표현한 것으로 인간이 볼 수 있는 모든 색을 뜻합니다. 다양한 색공간이 존재하지만 자주 사용되는 몇가지의 색공간에 대해 설명하겠습니다. 1. RGB RGB 색 공간은 색을 혼합하면 명도가 올라가는 가산 혼합 방식으로 색을 표현합니다. RGB 가산혼합의 삼원색은 빨강(Red), 녹색(Green), 파랑(Blue)을 뜻합니다. 정육면체 모델 형태로 표현할 수 있습니다. 각 channel마다 [0-255]의 값을 가지며, 총 256*256*256 = 16,777,216의 색을 표현 가능합니다. 가장 많이 사용되는 color mode 입니다. 2. HSV HSV 색 공간은 색상, 명도, 채도를 기준으로 색을 구성하는 방식으로 위 그림.. 2021. 11. 22.
728x90