So, I decided start from the beginning. For the first thing, I started checking definitions in OpenCV.
cv::Size XSize(width, height)
cv::vectorについて。cvのは見つからなかったが、stdのはあった。stdについての説明をメモしておく。参考:https://ppp-lab.sakura.ne.jp/cpp/library/002.html
vector:動的配列。要素数は自動的に変更される。宣言時のサイズをあらかじめ確保してくれる。例えば、
vector array(1000);
などとすれば、初めにint型の要素1000個分のメモリを確保してくれる。reserve.()と一緒に使うことも。
vector array;
array.reserve(1000);
ともかく、この型の変数に要素を追加する場合は、専用の関数を使う必要がある。例えばpush_back()やinserte()。(C++初めて使ってわからない怪しい関数だったけど、なるほど、そういうことか)
push_back():動的配列の末尾に要素を追加。追加したい要素を引数にして呼び出すこと。
clear()やsize()などがあり、clear()は全要素を削除、size()は要素数を返す。詳しくは参考URL参照。
cv::Mat:OpenCV1.1やOpenCV2.xのC版におけるIplImage構造体に相当。次のような情報をもつ:実際のデータへのポインタ、画像なら高さ、幅、ビット深度(?)など。
cv::TermCriteria(type, max count, epsilon):反復アルゴリズムのための停止基準
タイプがCV_TERMCRIT_ITER | CV_TERMCRIT_EPS の場合は、反復回数が既定値に達するか、要求精度が達成された場合にアルゴリズムが停止。てことは、max_countが反復回数で、epsilonが要求精度かな?
string:stdにあるやつで、文字列を扱ったりするとき使う。
stringstream:https://99blues.dyndns.org/blog/2010/02/std_stringstream/が詳しそう。まあでも大体stringと同じかな。
cv::imread(filename, flag):ファイルから画像読み込み。flag=0の時はグレースケールで読み込み。
std::cout:コンソールに出力
どうも<<ってのはstd::coutと一書に使われるようだ。streamの方も同じかもしれない。std::coutの一般的な使用法として以下がある。
std::cout<<"What I want to print out";
std::endl:バッファに改行文字を出力して、バッファをフラッシュするらしい。まあ、改行ってことかな。