컴퓨터비전 - 3(영상 처리)

박승현·2023년 9월 13일
0

컴퓨터비전

목록 보기
3/15
post-thumbnail

영상 처리


히스토그램

  • 주어진 영상에서의 명암값의 분포를 나타낸 막대 그래프

히스토그램 계산

  • 0~L 사이의 명암값이 각각 영상에 몇번 나타나는지 표시(L은 보통 255이지만 다를수도 있음)
  • 히스토그램을 위한 256칸 짜리 배열을 0으로 초기화
    • 영상의 화소(픽셀)의 각각에 대해 명암값을 구함
    • 구한 명암값을 인덱스로 사용해서 히스토그램 배열에 카운팅
    • 영상의 크기대로 나누면 정규화(0~1로 표현)
  • L이 8인 영상의 명암값 배열과 히스토그램
    • 영상의 크기인 8x8로 나누면 정규화
    • h` = h/64

히스토그램 용도

  • 영상의 특성 파악

  • 히스토그램 평활화(Histogram Equalization)
    • 히스토그램을 평평하게 만드는 연산
    • 명암의 동적 범위를 확장하여 영상의 품질을 향상 시켜줌
      • 히스토그램의 특정 영역에 모여 있으면 너무 밝거나 어두워서 잘 안보이게 됨, 이런 부분을 줄여줌
    • 누적 히스토그램을 함수로 사용
      • 누적 함수를 사용(누적 함수의 기울기 : 기존 히스토그램의 크기를 의미)
      • 기울기가 큰 부분을 많이 늘려줌
    • 순서대로 기존 명암값/현재 값/누적 값/누적 값 x L/평활화 후의 명암값
    • 평활화 적용 예시
    • 충분히 밝은 영상에서 평활화하면 효과가 없을 수도 있음

히스토그램 역투영과 얼굴 검출

  • R, G의 2차원 가우시안 분포를 활용하여 피부색을 검출
    • 모델 얼굴의 R,G 분포 2차원 히스토그램
    • 히스토그램과 가까우면 1, 멀면 0값을 주고(신뢰도) 명암으로 전환하면 피부색만 흰색으로 표현 가능
    • 비슷한 색 분포를 갖는 다른 물체는 구별 못하거나 검출 대상이 여러 색 분포를 갖는 경우 오류 가능성이 있음

이진 영상

  • 명암 영상을 흑과 백만 가진 이진 영상으로 변환

임계값

  • 특정 구간(두 봉우리 사이의 계곡을 임계값으로 설정
    • 임계값을 기준으로 0또는 255의 명암값을 부여해 이진화 함

오츄 알고리즘

  • 이진화 했을 때 흑, 백 그룹 각각이 균일할수록 좋다는 원리에 근거
  • 균일성 : 분산으로 측정(분산이 적어야 균일성이 높음)
  • 왼쪽과 오른쪽으로 나누어서 양쪽의 분산의 합이 가장 적은 임계값을 구하는 방법
  • 누적 히스토그램의 평균과 분산값 계산
    • 각각 임계값을 기준으로 왼쪽과 오른쪽의 누적 히스토그램과 그것의 평균, 분산
    • 임계값 t는 0부터 L까지 전부다 계산해본 뒤 합의 최솟값을 구함
      • 효율이 안좋음
  • T-1번째의 계산 결과(평균과 분산)을 T번째에 활용하여 빠르게 계산 가능
  • 예시

연결요소

  • 화소의 연결성
    • 상하좌우(4-연결성), 상하좌우 및 대각선(8-연결성), 가장자리에 있는 화소는 연결성을 따지지 않음
  • 연결요소 번호 붙이기
    • 영상의 크기만큼의 2차원 배열을 0으로 초기화
    • 2중 for문으로 기존 영상의 픽셀을 하나씩 탐색
    • 처음 만난 1의 값을 가진 픽셀에 라벨을 1을 부여
      • 해당 픽셀부터 시작해서 붙어있는 모든 픽셀에 라벨 1을 계속 부여(붙어있는 픽셀은 4 or 8연결성을 기준으로 탐색)
    • 라벨 1의 부여가 끝나면 다시 2중 for문을 돌리고 새로운(라벨 1이 부여 안된 픽셀)을 만나면 그 다음 순서의 라벨(2)을 부여
      • 처음 2를 부여받은 픽셀과 붙어있는 픽셀에게 라벨 2를 부여
  • 범람 채움
    • 스택 오버플로우 방지
    • 가장자리의 픽셀에서 그 상하좌우에 없는 인덱스에 접근을 시도 할 수도 있음(스택 오버 플로우)
      • 가장자리의 바깥쪽에 1픽셀 상하좌우로 0을 임의로 추가해줌(마지막엔 삭제
        • 가장자리에서 조건문으로 밖으로 안나가게 막는것 보다 간단

profile
KMU SW

0개의 댓글