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) 쿠와하라 필터
- 사분면에서 가장 분산이 작은 사분면을 기준으로, 해당 사분면의 평균값으로 픽셀을 채움
5. [예제 2-3]에 있는 원래 삼각형을 꼭지점 x₁을 중심으로 시계방향으로 30도 회전
1) 복합 변환 행렬
- 복합 변환 : 원점으로 이동 → 회전 → 다시 이동
- 복합 변환 행렬 : 원점으로 이동 후 회전 후 다시 이동시키는 행렬
2) 회전 후의 세 꼭지점의 좌표
- 위 그림 참조
6. 다음 네 개의 꼭지점을 갖는 도형에 대해 답하시오.
1) 오른쪽 아래 행렬에 h부분에 3 넣으면 됨
2) 1)의 변환을 적용한 후 꼭지점 좌표 계산
- 위 x들에 끝에 0 추가 후 1)의 행렬 곱하면 됨
7. [예제 2-6]에서 열기와 닫기를 적용한 영상을 구하시오.
참고 url:
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:
'IT > Graphics' 카테고리의 다른 글
Metal 스터디 1주차 (22.12.09) (0) | 2022.12.13 |
---|---|
컴퓨터 비전 스터디 7주차 : 21.05.23 (0) | 2021.05.24 |
컴퓨터 비전 스터디 5주차 : 21.04.25 (0) | 2021.05.02 |
컴퓨터 비전 스터디 4주차 : 21.04.11 (0) | 2021.04.15 |
컴퓨터 비전 스터디 3주차 : 21.04.04 (0) | 2021.04.10 |
댓글