본문 바로가기

python15

영상처리 기초 개념 2 - 히스토그램 평활화 더보기[요약]히스토그램 평활화 : 밝기 분포를 고르게 분산->명암대비 높임->물체를 더 잘 식별히스토그램 평활화(Histogram Equalization) - 특정 구간에 명암이 치우쳐 있는 이미지(명암 대비(contrast)가 낮은 이미지, ex, 어두운 이미지)를 더 잘 보이게 하고 싶을 때 사용 - 밝기 값의 분포를 고르게 분산시켜서, 이미지 전체의 명암 대비(contrast) 를 향상시키는 기법 - 히스토그램을 평평하게 하여 너무 어둡거나 밝은 이미지를 균형있게 보정 -> 객체, 경계가 더 잘 식별됨 계산 방법누적 히스토그램을 정규화(normalization)하고, 0~255 범위로 스케일링수식 : round(누적 정규화 히스토그램*255) 2025. 4. 6.
영상처리 기초 개념 1 - 이진화 및 모폴로지(침식,팽창), 이미지 반전 더보기[요약] 이진화 기법- 오츄 : t를 기준으로 이진화 했을 때, 0이 되는 화소의 분산과 1이 되는 화소의 분산의 가중치 합을 목적함수로 사용하여 최적화 모폴로지- 구조요소를 이용해 영역의 모양을 조작(팽창, 침식)- 팽창(dilate) : 작은 홈을 메꾸거나, 끊어진 영역을 하나로 연결 하는 효과- 침식(erode) : 영역 경계에 솟은 돌출 부분을 깍는 효과 이미지 반전- 255-원래색상 이진화이미지를 두가지 값(0과 255)만으로 표현하는 기법 > 오츠(Otsu)대표적인 이진화 방법t를 기준으로 이진화 했을 때, 0이 되는 화소의 분산과 1이 되는 화소의 분산의 가중치 합을 목적함수로 사용하여 최적화 모폴로지(Morphology)이미지 내 영역의 형태를 조작하는 기법(주로 팽창, 침식)주로 이.. 2025. 4. 6.
이미지의 디지털 화 더보기[요약]디지털 변환의 과정 : 샘플링+양자화 - 샘플링 : 영상을 m*n구간(화소, 해상도)으로 나눔 - 양자화 : 1개의 화소의 명암을 L개 구간(256)으로 나눔영상평면(눈:망막, 필름카메라:필름, 디지털카메라:CCD센서)아날로그신호(빛) -> CCD센서(디지털 신호로 변환하여 메모리에 저장) -> 이미지 생성디저틸 변환의 과정 : 샘플링+양자화- 샘플링 : 영상광간을 m*n구간(구간 1개:화소(Pixel), 화소의 수:해상도)으로 나눔- 양자화 : 각 화소의 명암을 L개 구간으로 나누어 디지털 수치로 변환(1바이트로 표현 가능한 L=256사용) 2025. 4. 6.
np.squeeze, np.expand_dims(unsqueeze) 이해 쓸모없는 차원 1을 제거(squeeze) 또는 추가(expand_dims)expand_dim의 경우, pytorch의 unsqueeze와 같다.예시 sample_array = np.array([[1,2,3], [4,5,6]])# axis를 기준으로 차원 추가sample_array_expand_0 = np.expand_dims(sample_array, axis=0)sample_array_expand_1 = np.expand_dims(sample_array, axis=1)sample_array_expand_2 = np.expand_dims(sample_array, axis=2)# axis를 기준으로 차원 제거(차원이 1인경우만 제거 가능)sample_array_expand_1_squeeze = np.sque.. 2025. 3. 30.
np.repeat 이해 배열의 요소를 반복새로운 차원이 생기는 것이 아님import numpy as npnp.repeat(array, repeat_information, axis=None)# array : 반복할 배열# repeat_information : 반복할 횟수(정수 혹은 정수의 배열 가능)# axis : 해당 축을 기준으로 반복(default는 None이며, 해당 경우 평탄화 된 상태에서 반복) 예제sample_array = np.array([[1,2,3], [4,5,6]])# sample_array내의 요소를 4번씩 반복sample_array_repeat_None = np.repeat(sample_array, 4, axis=None)sample_array_repeat_0 = np.repeat(sample_array,.. 2025. 3. 30.
np.stack 이해 NumPy에서 배열들을 축(axis)을 기준으로 쌓아주는 함수np.concatenate/np.vstack/np.hstack과는 다르게, 기존의 축이 아닌 새로운 축을 만든다는 점이 특징import numpy as npnp.stack([array], axis=0) # axis default value is 0 예제sample_array = np.array([[1,2,3], [4,5,6]])# sample_array(2x3) 4개를 쌓음sample_array_stack_0 = np.stack([sample_array]*4, axis=0)sample_array_stack_1 = np.stack([sample_array]*4, axis=1)sample_array_stack_2 = np.stack([sample_.. 2025. 3. 30.