Imageのインスタンスのコピーに関するテストを書いた. 案の定死んでいるので, どうにかする.
Revert "GrayScaleImageが具象クラスとなったので, StereoVisionAlgorithmの引数の画像をポインタの配列からインスタンスの配列へ変更した."

インスタンスの配列とすると, メモリコピーが入ってしまうので, 望ましくなかったのでRevert.
参照が最も望ましい.

This reverts commit 14e6d66788d3f969e402935594a29f884846e1d9.
todoコメントを追加した.
Imageがコピーコンストラクタでコピー可能であるようにした.
代入演算子は用意するかどうかを決めかねる.
testの失敗を直し, operator=を使えるようなテストを作った.
コメントを追加した.
StereoVisionAlgorithmにおいて, depthWithPointCloudのデフォルト実装を高速化した.
StereoVisionにおいて, Dynamicがなくとも,
template <int Arity_> class ConreteAlgorithm : public StereoVisionAlgorithm<Arity_> { ... };
で良いことに気づいたので, Dynamic関連を削除した.
public構造体のconstメンバは, 構造体にconstをつければほぼ同じになることから, メンバでなく構造体にconstをつけた方が使いやすい(vectorへの代入など)と考え, メンバからconstを外した.
StereoVisionAlgorithmメソッド引数のstd::arrayについて, ポインタ配列よりもconstポインタ配列のほうが明らかに安全なのでconstポインタ配列とした.
三角測量の原理でステレオビジョンを行なうアルゴリズムの名前空間triangulationを用意し, 視差を表すDisparityクラスを作成した.
valgrindを用いてメモリリークを調べるシェルスクリプトを追加した.
DisparityをTriangulationからalgorithmに変えた.
Disparityを2次元に統一した.
StreoVisionAlgorithmについて, ポインタ渡しをstd::reference_wrapperを用いた参照渡しに変え, また返り値を参照に変えた. これによって最小限のメモリ確保が実現できるはず.
コメントを追加.
StreoVisionAlgorithmクラスをAlgorithmクラスのrenameした.
NameSpaceと被る上, subclassのStereoVisionとParallelStreoVisionができそうだったためである.
testの方もAlgorithmに名前を変更した.
AlgorithmのUnitTestを書いた.
ImageWithMemoryAreaのコンストラクタはオーバーロードしなくてよかったので削除した.