[DIP] (Global) Histogram Equalization
·
Programming/DIP
Histogram Equalization에 대한 설명히스토그램 평활화(Histogram Equalization)는 이미지의 contrast(명암대비)를 개선하기 위한 기법 중 하나임: Image Enhancement일반적으로 이미지의 히스토그램이 특정 영역에 집중되어 있으면, 해당 이미지의 contrast가 낮다고 볼 수 있음: low contrast반면, 히스토그램이 이미지의 전체 범위에 고르게 분포되어 있을 때, 그 이미지는 명암 대비가 좋다고 평가됨: High contrast아래 그림의 경우와 같이 Histogram을 균일하게 해주는 작업을 Histogram Equalization이라고 부름.관련 gisthttps://gist.github.com/dsaint31x/ba25af517ac9807d39..
[DIP] Contrast Limited Adaptive Histogram Equalization (CLAHE)
·
Programming/DIP
Global Histogram Equalization의 단점.Illumination이 불균일한 경우, 이미지에서 특정 부분은 밝고 특정 부분은 어두움.이 경우, Global Processing 기반의 Histogram Equalization은 효과가 좋지 못함. 아래 그림에서 조명이 불균일하여 global HE가 효과가 좋지 않음을 보여줌 (석고상의 대비가 오히려 나뻐짐)이를 개선한 방법이 Contrast Limited Adaptive Histogram Equalization (CLAHE)임. 관련 gisthttps://gist.github.com/dsaint31x/5606a3b51023d64f5e29ea524ac469dc dip_clahe.ipynbdip_clahe.ipynb. GitHub Gist: ..
[DIP] Histogram Matching: Image Enhancement
·
Programming/DIP
개념입력 영상(input image)의 히스토그램이 특정 모양의 히스토그램 분포(목표영상, target image의 histogram)를 가지도록 하여 영상의 명암 대비를 개선하는 기법: Image Enhancement히스토그램 정합 또는 히스토그램 명세화라 불리기도 함관련 gisthttps://gist.github.com/dsaint31x/601b29af3ef28ec17114d405de14cec9 dip_histogram_matching.ipynbdip_histogram_matching.ipynb. GitHub Gist: instantly share code, notes, and snippets.gist.github.com과정target image 에 대하여 Target Histogram을 구하고, 이..
[DIP] Moirè (모아레) (and Beat)
·
Programming/DIP
1. Moire 란?디지털 이미지나 영상에서 발생하는 시각적 왜곡 현상원래 패턴과 해상도 차이로 인해 생기는 잔물결 무늬 또는 줄무늬두 개의 유사한 패턴이 약간의 오프셋이나 회전으로 겹쳐질 때 발생하는 광학 현상을 가르키며원래 이미지나 패턴에 없던 간섭 패턴이 생기게 됨.두 개의 주파수가 유사한 signal이 중첩되어 서로 간섭할 때 나타나는 현상으로 두 signal의 평균주파수의 합성 signal을 만드는데 이 결과 signal이 두 주파수의 차이만큼의 주파수로 주기적으로 커지고 작아지는 패턴이 생성됨: Sound에서는 맥놀이(beat)현상 이라고 불림.2. 발생 원인Dense pattern: 격자무늬, 천의 섬유, 건물 외벽 등 규칙적 패턴Resolution mismatch: 카메라 센서와 촬영 대상..
[DIP] cv2.convertSacleAbs(): contrast, brightness 수동조정
·
Programming/DIP
cv2.convertScaleAbs()이 함수는 주로 image의 brightness(밝기)와 contrast(대비)를 조절하는데 사용됨.alpha parameter로 contrast를 조절.beta parameter로 brightness를 조절.기본 구문dst = cv2.convertScaleAbs(src[, dst[, alpha[, beta]]])src: 입력 이미지 (numpy 배열)dst: 출력 이미지 (선택적)alpha: 스케일 팩터 (기본값 1)beta: 추가할 값 (기본값 0)동작 원리이 함수는 각 픽셀에 대해 다음 연산을 수행:dst(x,y) = saturate( |src(x,y) * alpha + beta| )where,saturate 함수는 결과값을 [0,255]로 제한.주요 특징입력 ..
[DIP] Image 다루기: cv2-기본편 3 (Summary)
·
Programming/DIP
openCV를 통한 이미지를 다루기 위한 기본 내용 (3) 1. Basic Operationsimage pixel 값에 접근하기: 개별접근과 slicingNumPy의 FancyIndexing이나 mask를 이용한 방식에 대한 이해하고 있는 것이 중요함더보기https://dsaint31.me/mkdocs_site/DIP/cv2/ch01/dip_1_01/#pixel BMEBasic Operations on Images 목표 pixel의 intensity 또는 color vector의 값을 읽거나 수정하기. image의 property들을 확인하기 ROI 설정하기. image를 여러 축으로 나누거나 합치기. OpenCV의 Python Binding에서 기본 데이dsaint31.me 다음은 NumPy 외에 nd..