OpenCV는 다양한 머신 러닝 알고리즘을 클래스로 구현하여 제공한다. 주로 ml모듈에 포함되어 있고, cv::ml::StatModel 추상 클래스를 상속받아 만들어진다. StatModel 클래스는 train() 멤버함수와 predict() 멤버함수를 가지고 있다.
virtual bool StatModel::train(InputArray samples,
int layout,
InputArray responses);
samples : 훈련 데이터 행렬
layout : 훈련 데이터 배치 방법
responses : 각 훈련 데이터에 대응되는 응답 행렬
반환값 : 정상적으로 학습이 완료되면 true를 반환
virtual float StatModel::predict(InputArray samples,
OutputArray results = noArray(),
int flags = 0) const;
samples : 입력 벡터가 행 단위로 저장된 행렬
results : 각 입력 샘플에 대한 예측 결과가 저장된 행렬
flags : 추가적인 플래그 상수
반환값 : 알고리즘에 따라 다름