본문 바로가기
IT/Graphics

컴퓨터 비전 스터디 6주차 : 21.05.09

by YEON-DU 2021. 5. 22.
반응형

Chapter 2 연습문제

1. 명암 단계가 [0, 9]이고 크기가 5 X 5인 영상

(1) 히스토그램을 구하시오.

 

h = (1, 3, 4, 6, 5, 1, 1, 3, 1)

h(l) = (0.04, 0.12, 0.16, 0.24, 0.2, 0.04, 0.04, 0.12, 0.04)

 

(2) 히스토그램 평활화를 위한 매핑 표를 구하시오.

c(l) = (0.04, 0.16, 0.32, 0.56, 0.76, 0.8, 0.84, 0.96, 1) = 누적 히스토그램

 

(3) 평활화된 영상을 제시하시오.

out(l) = (0.36, 1.44, 2.88, 5.04, 6.84, 7.2, 7.56, 8.64, 9)

1 1 3 3 3
0 1 5 7 5
3 5 8 9 5
7 7 9 9 9
5 7 7 7 5

 

2. 연결요소 번호 붙이기 알고리즘에 대해 답하시오.

(1) flood_fill8()

b를 l로 복사한다. 이때 0은 0, 1은 -1로 복사한다. // -1은 아직 번호를 안 붙였음을 표시
l의 경계, 즉 j=0, j=M-1, i=0, i=N-1인 화소를 0으로 설정한다. // 영상 바깥으로 나가는 것을 방지
label = 1;
for (j=1 to M-2)
    for(i=1 to N-2) {
        if(l(j,i)=-1) {
            flood_fill8(l, j, i, label);
            label++;
        }
    }

// 8-연결성 범람 채움 함수
function flood_fill8(l, j, i, label) {
    if(l(j,i)=-1) { // 아직 번호를 안 붙인 화소이면
        l(j, i)=label;
        flood_fill8(l, j, i+1, label); // east
        flood_fill8(l, j-1, i, label); // north
        flood_fill8(l, j, i-1, label); // west
        flood_fill8(l, j+1, i, label); // south
        flood_fill8(l, j+1, i+1, label); // south-east
        flood_fill8(l, j-1, i+1, label); // north-east
        flood_fill8(l, j+1, i-1, label); // south-west
        flood_fill8(l, j-1, i-1, label); // north-west
}

 

(2) efficient_floodflil8()

 

3. 식 (2.11)을 이용하여 문제 1의 영상을 변환하시오.

2.11 - 밝게

  • 평활화된 행렬에 2씩 더해준다.
  • 최대 밝기가 9니까 9가 넘을경우 밝기가 9로 설정될 수 있도록 함
3 3 4 4 4
2 3 5 6 5
4 5 8 9 5
6 7 9 9 9
5 6 6 6 5

2.11 - 어둡게

0 0 0 0 0
0 0 1 2 1
0 1 4 5 1
2 3 6 5 5
1 2 2 2 1

2.12 - 반전

8 8 7 7 7
9 8 5 5 5
7 6 3 2 6
5 4 1 2 2
6 5 5 5 6

 

4. 에지 보존 효과를 지닌 스무딩 필터에 대해 답하시오.

1) 메디안 필터가 가우시안보다 에지 보존 효과가 더 뛰어난 이유 : 솔트-페퍼 노이즈 제거에 효과적

  • 값이 튀는 부분에서 가우시안은 평균을 구하지만 메디안은 값을 날려버림. 그래서 노이즈 제거에 효과적

참고 url : [Learn opencv by examples] 6. Gaussian 필터, Bilateral 필터, Median 필터

 

2) 쿠와하라 필터

  • 사분면에서 가장 분산이 작은 사분면을 기준으로, 해당 사분면의 평균값으로 픽셀을 채움

출처 : 파이썬 openCV 20. 노이즈 제거 : 쿠와하라 필터(Kuwahara filter)

 

5. [예제 2-3]에 있는 원래 삼각형을 꼭지점 x을 중심으로 시계방향으로 30도 회전

1) 복합 변환 행렬

  • 복합 변환 : 원점으로 이동 → 회전 → 다시 이동
  • 복합 변환 행렬 : 원점으로 이동 후 회전 후 다시 이동시키는 행렬

2) 회전 후의 세 꼭지점의 좌표

  • 위 그림 참조

 

6. 다음 네 개의 꼭지점을 갖는 도형에 대해 답하시오.

1) 오른쪽 아래 행렬에 h부분에 3 넣으면 됨

2) 1)의 변환을 적용한 후 꼭지점 좌표 계산

  • 위 x들에 끝에 0 추가 후 1)의 행렬 곱하면 됨

 

7. [예제 2-6]에서 열기와 닫기를 적용한 영상을 구하시오.

 

참고 url:

모폴로지 (Morphology)

 

8. 모폴로지에 대해 답하시오.

1) 아래 구조요소를 이용하여 팽창, 침식, 열기, 닫기를 적용한 결과를 제시하시오.

// 팽창

0 1 1 0 0 0 1 0 
1 1 1 1 0 1 1 1
1 1 1 1 0 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1
0 0 0 0 1 1 1 0

// 침식

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0

// 열기

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 1 1 1 0 0 0 0
0 1 1 1 0 0 0 0
0 1 1 1 0 0 0 0
0 0 1 0 0 0 0 0 
0 0 0 0 0 0 0 0

// 닫기

0 0 0 0 0 0 0 0 
0 1 1 0 0 0 1 0
1 1 1 0 0 0 1 1
1 1 1 1 0 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 0
0 0 0 0 0 1 0 0

 

// 팽창

0 1 1 0 0 0 1 0
1 1 2 1 0 1 1 1
1 2 3 1 0 1 2 1
1 2 3 3 1 2 2 2
1 3 3 3 4 4 3 2
0 2 3 4 4 4 4 3
0 1 2 3 4 4 3 1
0 0 0 0 1 3 1 0

// 침식

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0

// 열기

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 1 1 1 0 0 0 0
0 1 1 1 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0

// 닫기

0 0 0 0 0 0 0 0
0 1 1 0 0 0 1 1
1 1 1 0 0 0 1 1
1 1 2 1 0 1 2 1
0 1 3 3 1 2 2 2
0 0 2 3 4 4 3 1
0 0 0 0 1 3 1 0
0 0 0 0 0 1 0 0

 

9. 색 관찰

생략

 

10. 컬러 영상에 히스토그램 평활화를 적용하려고 한다. 세 채널에 독립적으로 적용한 것을 결합하면 이상한 결과를 얻는다.

1) 그 이유를 설명하시오.

RGB 색상 채널마다 서로 다른 형태의 명암비 변환 함수를 사용하게 됨으로써 원본 영상의 색상과는 다른 색상의 결과가 됩니다. 바로 히스토그램 평활화 방식이, 값을 분배하는 것이기 때문입니다. 그렇기에 각 채널에 대해 평활화를 실행하면, 채널별 값이 전체 영상에 분배됨으로써 조합시 색의 분리가 깨지며 이리저리 스며든 것과 같은 효과가 되기 때문이다.

 

2) 적절한 방법

  • HSI 모델 사용
  • BGR 공간을 YCrCb와 같은 색공간으로 변경시킨 후, Y에 히스토그램 평활화를 실행시키면 아주 간단하게, 색감은 그대로 놔두고 명도만을 조절할 수 있게된다.

참고 url:

컬러 영상 히스토그램 평활화

컬러 영상 데이터 처리 (컬러 영상 처리 기법)

영상처리 grayscale

반응형

댓글