어파인 변환과 투시 변환

BERT·2023년 4월 24일
0

Computer Vision

목록 보기
27/56
post-custom-banner

Affine transform

Affine 변환 행렬 구하기

src : 3개의 원본 좌표점
dst : 3개의 결과 좌표점
return : 2x3 크기의 변환 행렬

Mat getAffineTransform(const Point2f src[], const Point2f dst[]);
Mat getAffineTransform(InputArray src, InputArray dst);

영상의 Affine 변환

src : 입력 영상
dst : 출력 영상
M : 2x3 affine 변환 행렬
dsize : 결과 영상 크기
flags : 보간법 선택
borderMode : 가장자리 픽셀 처리 방식
borderValue : BORDER_CONSTANT 모드 사용 시 사용할 픽셀 값

void warpAffine(InputArray src, OutputArray dst,
				InputArray M,
                Size dsize,
                int flags = INTER_LINEAR,
                int borderMode = BORDER_CONSTANT,
                const Scalar& borderValue = Scalar());

Perspective transform

Perspective 변환 행렬 구하기

src : 4개의 원본 좌표점
dst : 4개의 결과 좌표점
return : 3x3 크기의 변환 행렬

Mat getPerspectiveTransform(const Point2f src[], const Point2f dst[], 
						 int solveMethod = DECOMP_LU);
Mat getPerspectiveTransform(InputArray src, InputArray dst, 
						 int solveMethod = DECOMP_LU);

영상의 Perspective 변환

src : 입력 영상
dst : 출력 영상
M : 3x3 perspective 변환 행렬
dsize : 결과 영상 크기
flags : 보간법 선택
borderMode : 가장자리 픽셀 처리 방식
borderValue : BORDER_CONSTANT 모드 사용 시 사용할 픽셀 값

void warpPerspective(InputArray src, 
				OutputArray dst,
				InputArray M,
                Size dsize,
                int flags = INTER_LINEAR,
                int borderMode = BORDER_CONSTANT,
                const Scalar& borderValue = Scalar());

Bird's-eye view

매우 높은 곳에 위치한 카메라가 아래의 피사체를 찍은 장면
투시 변환을 이용하여 전면에서 촬영된 영상을 bird's-eye view처럼 변환

birdeye

post-custom-banner

0개의 댓글