인공지능/컴퓨터 비전

[컴퓨터 비전] 3 점 연산

노트북 산 김에 공부 2023. 4. 22. 09:59

화소 입장에서 바라본 영상 처리 연산이란 화소가 새로운 값을 받는 과정입니다.

새로운 값을 어디에서 받느냐에 따라 점 연산, 영역 연산, 기하 연산의 세 종류로 구분할 수 있습니다.

점 연산은 자기 자신으로부터 값을 받고, 영역 연산은 이웃 화소의 값을 보고 새로운 값을 결정합니다.

기하 연산에서는 기하학적 변환에 따라 다른 곳으로부터 값을 받습니다.

앞서 공부한 오츄 알고리즘(이진화)은 점 연산에 속합니다. 

 

오츄 알고리즘

오츄 알고리즘 은 0 화소의 분산과 1 화소의 분산을 더하여나온 t 중가장 낮은 값의 t를임곗값으로 사용해 이진화 합니다.


감마 조절

인간의 눈은 빛의 밝기 변화에 비선형적으로 반응합니다. 그 예로

명암 10을 20으로 올렸을 때와 120을 130으로 올렸을 때는 같은 양만큼 늘었지만 인간이 느끼는 정도는 다릅니다.

위 식은 이러한 감마 보정의 비선형적인 시각 반응을 표현한 것입니다.

뒤에 f.은 [0, L-1] 범위의 화소의 값을 L - 1 로 나누어 0 부터 1까지의 값으로 정규화한 영상입니다.

y는 사용자가 조정하는 값인데, 1이면 원래 영상을 유지하고 y<1 이면 밝아지고 y>1이면 어두워집니다.

이를 L-1 (255)로 곱하여 감마를 조절합니다.

def gamma(f, gamma=1.0):    # 감마 조절 알고리즘
    f1 = f / 255.0
    return np.uint8(255*(f1**gamma)) 
    
gc = np.hstack((gamma(img, 0.5), gamma(img, 0.7), gamma(img,1.0),
               gamma(img, 2.0), gamma(img, 3.0)))
cv.imshow('gamma',gc) # 감마 조절 확인

f1은 L-1로 나누어 얻은 정규화 영상입니다

이를 미리 받아둔 미개변수 gamma로 제곱하고 다시 L-1로 곱하면   감마가 조절된 영상을 얻을 수 있습니다.

 

 


히스토그램 평활화

히스토그램 평활화(histogram equzlization)는 히스토그램이 평평하게 되도록 영상을 조작해 영상의 명암 대비를 높이는 기법입니다. 명암 대비가 높아지면 물체를 더 잘 식별할 수 있습니다.

모든 칸의 값을 더하면 1.0이 되는 정규화 히스토그램 h.와 i번 칸은 0~i 번 칸을 더한 값을 가진 누적 정규화 히스토그램 h..을 가지고 위의 식을 수행합니다. 

이렇게 바뀐 l' 명암값을 기존 l에 대체합니다.

 

.equalizeHist(img)

 

equalizeHist() 함수는 입력 이미지를 인자로 받아, 각 픽셀의 밝기 값을 이용하여 히스토그램을 생성하고, 이를 평활화하여 반환합니다. 이 때, 평활화된 이미지는 입력 이미지와 크기는 같지만 명암 대비가 개선된 이미지가 됩니다.

img = cv.imread('mistyroad.jpg')

gray - cv.cvtColor(img, cv.COLOR_BGR2GRAY)    # 명암 이미지로 변환 
plt.imshow(gray, cmap='gray'), plt.xticks([]), plt.yticks([]), plt.show()

h = cv.calcHist([gray], [0], None, [256], [0,256])            # 히스토그램 출력
plt.plot(h, linewidth=1), plt.show()

#===================================================================

equal = cv.equalizeHist(gray)  # 히스토그램 평활화
plt.imshow(equal, cmap='gray'), plt.xticks([]), plt.yticks([]), plt.show()

h = cv.calcHist([gray], [0], None, [256], [0,256])            # 히스토그램 출력
plt.plot(h, linewidth=1), plt.show()

 

'인공지능 > 컴퓨터 비전' 카테고리의 다른 글

[컴퓨터 비전] 4 영역 연산  (1) 2023.05.13
[컴퓨터 비전] 1 영상의 형태  (0) 2023.04.22