OpenCV로 배우는 영상 처리 및 응용/ 기본 행렬 연산(Operations on Arrays) 함수

기본 배열 처리 함수

반환형 이름 파라미터 내용
void flip InputArray src, OutputArray dst, Int flipCode 입력된 2차원 배열을 수직, 수평, 양축으로 뒤집는다.
void repeat InputArray src, int ny, int nx, OutputArray dst 입력된 배열의 반복된 복사본으로 출력 배열을 채운다.
Mat repeat const Mat& src, int ny, int nx 입력된 배열의 반복된 복사본으로 출력 배열을 채운다.
void transpose InputArray src, OutputArray dst 입력 행렬의 전치 행렬을 출력 인수로 반환한다.

채널 처리 함수

반환형 이름 파라미터 내용
void merge const Mat* mv, size_t count, OutputArray dst 여러 개의 단일 채널 배열로 다중 채널의 배열을 합성한다.
void merge InputArrayOfArrays mv, OutputArray dst 여러 개의 단일 채널 배열로 다중 채널의 배열을 합성한다.
void split InputArray m, OutputArrayOfArrays mv 다중 채널 배열을 여러 개의 단일 채널 배열로 분리한다.
void mixChannels const Mat* src, size_t nsrcs, Mat* dst, size_t ndsts, const int* fromTo, size_t npairs 명시된 채널의 순서쌍에 의해 입력 배열들(src)로부터 출력 배열들(dst)을 복사한다.
void mixChannels const vector<Mat>& src, Vector<Mat>& dst, const int* fromTo, size_t npairs 명시된 채널의 순서쌍에 의해 입력 배열들(src)로부터 출력 배열들(dst)을 복사한다.

산술 연산 함수

반환형 이름 파라미터 내용
void add InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray(), int dtype = -1 두 개의 배열이나 배열과 스칼라의 각 원소 간(per-element) 합을 계산한다. 입력 인수 src1, src2 중 하나는 스칼라일 수 있다.
void substat InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray(), int dtype = -1 두 개의 배열이나 배열과 스칼라의 각 원소간 차분을 계산한다.
void multiply InputArray src1, InputArray src2, OutputArray dst, InputArray scale = 1 int dtype = -1 두 배열의 각 원소 간 곱을 계산한다.
void divide InputArray src1, InputArray src2, OutputArray dst, InputArray scale = 1 int dtype = -1 두 배열의 각 원소 간 나눗셈을 수행한다.
void divide double scale, InputArray src2, OutputArray dst, int dtype = -1 두 배열의 각 원소 간 나눗셈을 수행한다.
void scaleAdd InputArray src1, double alpha, InputArray src2, OutputArray dst 스케일된 배열과 다른 배열의 합을 계산한다.
void addWeighted InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype = -1 두 배열의 가중된(weighted) 합을 계산한다.
void exp InputArray src, OutputArray dst 모든 배열 원소의 지수(exponent)를 구한다.
void log InputArray src, OutputArray dst 모든 배열 원소의 절댓값에 대한 자연로그를 계산한다.
void sqrt InputArray src, OutputArray dst 모든 배열 원소에 대해 제곱근을 계산한다.
void pow InputArray src, double power, OutputArray dst 모든 배열 원소에 대해 power 승수를 계산한다.
void magnitude InputArray x, InputArray y, OutputArray magnitude 2차원 벡터들의 크기(magnitude)를 계산한다.
void phase InputArray x, InputArray y, OutputArray angle, bool angleInDegree = false 2차원 벡터의 회전 각도를 계산한다.
void cartToPolar InputArray x, InputArray y, OutputArray magnitude, OutputArray angle, bool angleInDegree = false 2차원 벡터들의 크기(magnitude)와 각도를 계산한다.
void polarToCart InputArray magnitude, InputArray angle, OutputArray x, OutputArray y, bool angleInDegree = false 각도와 크기로부터 2차원 벡터들의 좌표를 계산한다.
void bitwise_and InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray() 두 배열의 원소 간 혹은 배열 원소와 스칼라 간의 비트 간 논리곱 연산을 수행한다. 입력 인수 src1, src2 중 하나는 스칼라 값일 수 있다.
void bitwise_or InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray() 두 배열의 원소 간 혹은 배열 원소와 스칼라 간의 비트 간 논리합 연산을 수행한다.
void bitwise_xor InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray() 두 배열의 원소 간 혹은 배열 원소와 스칼라 간의 비트 간 배타적 논리합 연산을 수행한다.
void bitwise_not InputArray src, OutputArray dst, InputArray mask = noArray() 입력 배열의 모든 원소에 대해 각 비트의 역을 계산한다.

절댓값, 최댓값, 최솟값 관련 함수

반환형 이름 파라미터 내용
MatExpr abs const Mat& m 행렬의 각 원소에 대한 절대값을 계산하여 수식을 위한 행렬인 MatExpr 객체로 반환한다.
MatExpr abs const MatExpr& e 행렬의 각 원소에 대한 절대값을 계산하여 수식을 위한 행렬인 MatExpr 객체로 반환한다.
void absdiff InputArray src1, InputArray src2, OutputArray dst 두 배열간 각 원소 간 차분의 절댓값을 계산한다. src1, src2 중 하나는 스칼라값이 될 수 있다.
void convertScaleAbs InputArray src, OutputArray dst, double alpha = 1, double beta = 0 입력 배열의 각 원소에 alpha만큼 배율을 곱하고 beta 만큼 더한 후에 절댓값을 계산한 결과를 8비트 자료형으로 반환한다.
void min InputArray src1, InputArray src2, OutputArray dst 두 입력 행렬을 원소 간 비교하여 작은 값을 출력 행렬로 반환한다.
void min const Mat& src1, const Mat& src2, Mat& dst 두 입력 행렬을 원소 간 비교하여 작은 값을 출력 행렬로 반환한다.
MatExpr min const Mat& a, double s 행렬의 원소와 스칼라를 비교하여 작은 값을 출력 행렬로 반환한다.
MatExpr min double s, const Mat& a 행렬의 원소와 스칼라를 비교하여 작은 값을 출력 행렬로 반환한다.
void max InputArray src1, InputArray src2, OutputArray dst 두 입력 행렬을 원소 간 비교하여 큰 값을 출력 행렬로 반환한다.
void max const Mat& src1, const Mat& src2, Mat& dst 두 입력 행렬을 원소 간 비교하여 큰 값을 출력 행렬로 반환한다.
MatExpr max const Mat& a, double s 행렬의 원소와 스칼라를 비교하여 큰 값을 출력 행렬로 반환한다.
MatExpr max double s, const Mat& a 행렬의 원소와 스칼라를 비교하여 큰 값을 출력 행렬로 반환한다.
void minMaxIdx InputArray src, double* minVal, double* maxVal, int* minIdx = 0, int* maxIdx = 0, InputArray mask = noArray() 전체 배열에서 최솟값과 최댓값인 원소의 위치와 그 값을 반환한다.
void minMaxLoc InputArray src, double* minVal, double* maxVal, Point* minLoc = 0, Point* maxLoc = 0, InputArray mask = noArray() 전체 배열에서 최댓값과 최솟값을 갖는 원소의 위치와 그 값을 반환한다. 위치를 Point 형으로 반환한다.

통계 관련 함수

반환형 이름 파라미터 내용
Scalar sum InputArray src 배열의 각 채널 별로 원소들의 합을 계산하여 스칼라 값으로 반환한다.
Scalar mean InputArray src, InputArray mask = noArray() 배열의 각 채널 별로 원소들의 평균을 계산하여 스칼라 값으로 반환한다.
void meanStdDev InputArray src, OuputArray mean, OutputArray stddev, InputArray mask = noArray() 배열 원소들의 평균과 표준편차를 계산한다.
int countNonZero InputArray src 0이 아닌 배열 원소를 개수 N을 반환한다.
void reduce InputArray src, OutputArray dst, int dim, int rtype, int dtype = -1 행렬을 열방향 혹은 행방향으로 옵션상수(rtype)의 연산을 수행하여 벡터로 감축한다.   <옵션 상수> REDUCE_SUM/ 0/ 행렬의 모든 행(열)들을 합한다. REDUCE_AVG/ 1/ 행렬의 모든 행(열)들을 평균한다. REDUCE_MAX/ 3/ 행렬의 모든 행(열)들의 최댓값을 구한다. REDUCE_MIN/ 4/ 행렬의 모든 행(열)들의 최솟값을 한다.
void sort InputArray src, OutputArray dst, int flags 행렬의 각 행 혹은 각 열의 방향으로 정렬한다.   <옵션 상수> SORT_EVERY_ROW/ 0/  각 행을 독립적으로 정렬 SORT_EVERY_COLUMN/ 1/  각 열을 독립적으로 정렬 SORT_ASCENDING/ 0/  오름차순으로 정렬 SORT_DESENDING/ 16/  내림차순으로 정렬
void sortIdx InputArray src, OutputArray dst, int flags 행렬의 각 행 혹은 각 열로 정렬한다. 출력 배열(dst)에 정렬된 원소의 인덱스들을 저장한다. 인수는 sort와 동일하다.

행렬 연산 함수

반환형 이름 파라미터 내용
void gemm InputArray src1, InputArray src2, double alpha, InputArray src3, double beta, OutputArray dst, Int flags = 0 일반화된 행렬 곱셈을 수행한다.   <옵션> GEMM_1_T/ 1/ src1을 전치 GEMM_2_T/ 2/ src2을 전치 GEMM_3_T/ 4/ src3을 전치
void perspectiveTransform InputArray src, OutputArray dst, InputArray m 입력 배열의 모든 원소에 행렬 변환을 수행한다.
void transform InputArray src, OutputArray dst, InputArray m 입력 벡터들에 대해 투영(perspective) 변환 m을 수행한다.
double invert InputArray src, OutputArray dst, Int flags = DECOMP_LU 행렬의 역행렬을 계산한다.
bool solve InputArray src1, InputArray src2, OutputArray dst, Int flags = DECOMP_LU 연립 방정식이나 최소자승 문제를 해결한다.
[ssba]

The author

지성을 추구하는 디자이너/ suyeongpark@abyne.com

댓글 남기기

This site uses Akismet to reduce spam. Learn how your comment data is processed.