3eung_h10n.log
로그인
3eung_h10n.log
로그인
컴퓨터비전 - 3(영상 처리)
박승현
·
2023년 9월 13일
팔로우
0
컴퓨터비전
0
컴퓨터비전
목록 보기
3/15
영상 처리
히스토그램
주어진 영상에서의 명암값의 분포를 나타낸 막대 그래프
히스토그램 계산
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을 임의로 추가해줌(마지막엔 삭제
가장자리에서 조건문으로 밖으로 안나가게 막는것 보다 간단
박승현
KMU SW
팔로우
이전 포스트
컴퓨터비전 - 2(Color)
다음 포스트
컴퓨터비전 - 4(연산)
0개의 댓글
댓글 작성