Search
Duplicate

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
연립 방정식이나 최소자승 문제를 해결한다.