유용한 OpenCV 함수

BERT·2023년 4월 19일
0

Computer Vision

목록 보기
14/56

행렬 합 구하기

src : 입력 행렬 (1~4 채널)
return : 행렬 원소 합

Scalar sum(InputArray src);

행렬 평균 구하기

src : 입력 행렬 (1~4 채널)
mask : 마스크 영상
return : 행렬 평균 값

Scalar mean(InputArray src, InputArray mask = noArray());

행렬 최댓값/최솟값 구하기

src : 입력 영상, 단일 채널
minVal, maxVal : 최솟값/최댓값 변수 포인터
minLoc, maxLoc : 최솟값/최댓값 위치 변수 포인터
mask : 마스크 영상

void minMaxLoc(InputArray src, 
			   double* minVal, double* maxVal = 0,
			   Point* minLoc = 0, Point* maxLoc = 0,
               InputArray mask = noArray());

행렬 자료형 변환

m : 출력 영상 (행렬)
rtype : 원하는 출력 행렬 타입
alpha : 추가적으로 곱할 값
beta : 추가적으로 더할 값

복잡한 연산 수행 시 주어진 행렬의 픽셀 타입을 uchar 대신 float으로 변환하면 소수점 아래 부분까지 연산하여 정밀한 형태의 연산 결과를 얻을 수 있음

void Mat::convertTo(OutputArray m, 
				    int rtpye, 
                    double alpha=1, double beta=0) const;

연산의 정규화 (원소 값 범위 정규화)

src : 입력 행렬
dst : 출력 행렬
alpha : 목표 norm 값 (NORM_MINMAX 경우 최솟값)
beta : (NORM_MINMAX 경우) 최댓값
norm_type : 정규화 타입 (NORM_INF, NORM_L1, NORM_L2, NORM_MINMAX)
dtype : 출력 행렬 타입
mask : 마스크 영상

void normalize(InputArray src, InputOutputArray dst,
			   double alpha = 1,
               double beta = 0,
               int norm_type = NORM_L2,
               int dtype = -1,
               InputArray mask = noArray());

색 공간 변환 함수

src : 입력 영상
dst : 출력 영상
code : 색 변환 코드
dstCn : 결과 영상의 채널 수 (0이면 자동 결정)

void cvtColor(InputArray src, OutputArray dst, int code, int dstCn = 0);

채널 분리

src : 다채널 입력 행렬
mvbegin : 출력 Mat 배열 주소
mv : 출력 행렬 벡터

void split(const Mat& src, Mat* mvbegin);
void split(InputArray src, OutputArrayOfArrays mv);

채널 결합

mv : 1채널 입력 Mat 배열 또는 행렬의 벡터
count : Mat 배열의 크기
dst : 다채널 출력 행렬

void merge(const Mat* mv, size_t count, OutputArray dst);
void merge(InputArrayOfArrays mv, OutputArray dst);

0개의 댓글