void cv Warp Affine Const Cv Arr src

  • Slides: 29
Download presentation

- 어파인 변환 함수 void cv. Warp. Affine( Const Cv. Arr* src, // 입력영상

- 어파인 변환 함수 void cv. Warp. Affine( Const Cv. Arr* src, // 입력영상 Cv. Arr* dst, // 출력영상 Cv. Arr* map_matrix, // 2*3행렬 int flags, Cv. Scalar fillval // 여백의 색지정 );

- 투시변환예제 ~~~~ src. Quad[0]. x = 0; src. Quad[0]. y = 0; src.

- 투시변환예제 ~~~~ src. Quad[0]. x = 0; src. Quad[0]. y = 0; src. Quad[1]. x = src->width - 1; src. Quad[1]. y = 0; src. Quad[2]. x = 0; src. Quad[2]. y = src->height - 1; src. Quad[3]. x = src->width - 1; src. Quad[3]. y = src->height - 1; dst. Quad[0]. x = src->width*0. 05; dst. Quad[0]. y = src->height*0. 33; dst. Quad[1]. x = src->width*0. 9; dst. Quad[1]. y = src->height*0. 25; dst. Quad[2]. x = src->width*0. 2; dst. Quad[2]. y = src->height*0. 7; dst. Quad[3]. x = src->width*0. 8; dst. Quad[3]. y = src->height*0. 9; // 원본영상의좌상단 // 원본영상의우상단 // 원본영상의좌하단 // 원본영상의우하단 // 결과영상의좌상단 // 결과영상의우상단 // 결과영상의좌하단 // 결과영상의우하단 cv. Get. Perspective. Transform(src. Quad, dst. Quad, warp_matrix); // 투시변환행렬 계산 cv. Warp. Perspective(src, dst, warp_matrix); // 밀집투시변환 ……………….

9. Log. Polar - 2차원 영상에서 로그-폴라(log-polar transform)은 직각좌표계에서 극좌표 로의 변환의 일종 임.

9. Log. Polar - 2차원 영상에서 로그-폴라(log-polar transform)은 직각좌표계에서 극좌표 로의 변환의 일종 임. 거리 : log(r) 변환 각: Cartesian image ----- Log-Polar representation ----- Retinal representation

 • 사용자 정의 3 x 3 마스크(a=1, b=1. 5) 4. 5 4 3.

• 사용자 정의 3 x 3 마스크(a=1, b=1. 5) 4. 5 4 3. 5 3 3. 5 4 4. 5 4 3 2. 5 2 2. 5 3 4 3. 5 2. 5 1 1. 5 2. 5 3 2 1 0 1 2 3 3. 5 2. 5 1 1. 5 2. 5 3. 5 4 3 2. 5 2 2. 5 3 4 4. 5 4 3. 5 3 3. 5 4 4. 5

 • 사용자 정의 5 x 5 마스크(a=1, b=1. 5, c=2) 4. 5 3

• 사용자 정의 5 x 5 마스크(a=1, b=1. 5, c=2) 4. 5 3 3 3 3. 5 4. 5 3 2 2 2 3 3. 5 3 2 1. 5 1 1. 5 2 3 3 2 1 0 1 2 3 3 2 1. 5 1 1. 5 2 3 3. 5 3 2 2 2 3 3. 5 4 3. 5 3 3. 5 4

 • 거리 변환 행렬 생성 • 크기 3의 실수 배열 생성 • Ex)

• 거리 변환 행렬 생성 • 크기 3의 실수 배열 생성 • Ex) float mask[3]; • 실수 배열의 0, 1, 2 인덱스에 각각 사용자 정의 마스크의 a, b, c 값을 넣어주면 된다. • Ex) mask[0] = 1. 0 f; mask[1] = 1. 5 f; mask[2] = 2. 0 f; // 거리 변환 수행 cv. Dist. Transform( src_8 uc 1, dist 32 F 1 C, CV_DIST_USER, 5, mask, NULL ); // 볼수 있게 처리 함. cv. Convert. Scale( dst_8 uc 1, 1000 , 0 ); cv. Pow( dist 32 F 1 C, 0. 5 ); cv. Convert. Scale( dist 32 F 1 C, dist 32 S 1 C, 10, 0. 5 ); cv. Convert. Scale( dist 32 S 1 C, dst_8 uc 1, 1, 0 );