============ その他の機能 ============ .. highlight:: cpp OpenCVのバージョンを調べる ========================== .. literalinclude:: code/cpp/sample_version.cpp 実行結果: .. literalinclude:: output/cpp/sample_version.txt 処理時間を計測する ================== .. literalinclude:: code/cpp/sample_process_time.cpp 実行結果: .. literalinclude:: output/cpp/sample_process_time.txt .. OpenCVにユーザ定義型を追加する .. ============================== .. .. 追加できるのは,基本的に,同一型を要素に持つタプルだけです. .. .. .. literalinclude:: code/cpp/sample_datatype.cpp .. .. 実行結果: .. .. .. literalinclude:: output/cpp/sample_datatype.txt printf風の表記で文字列を出力する ================================ .. literalinclude:: code/cpp/sample_format.cpp 実行結果: .. literalinclude:: output/cpp/sample_format.txt CV_Assert/CV_DbgAssert ====================== 例外発生時のメッセージは,OpenCV のバージョンによって異なります. .. literalinclude:: code/cpp/sample_assert.cpp 実行結果(デバッグ): .. literalinclude:: output/cpp/sample_assert_debug.txt 実行結果(リリース): .. literalinclude:: output/cpp/sample_assert_release.txt CPUがサポートする機能(SSEなど)をチェックする =============================================== CPUが,MMXやSSE2/3/4.1/4.2,AVX(Intel Advanced Vector eXtentions),POPCOUNTなどをサポートしているか否かを調べることができます. .. literalinclude:: code/cpp/sample_sse.cpp (筆者の環境における)実行結果: .. literalinclude:: output/cpp/sample_sse.txt コマンドライン引数をパースする ================================= getopt, gflags, boost/program_options, などコマンドライン引数をパースするための様々な方法がありますが,OpenCV(>=2.3.0)のみを利用しても簡単なパースを行うことができます. ここでサポートされるシンタックスは以下の通りです. - -key1=value1 - --key2=value2 "-" または "--" で始まるパラメータに対して値を指定する場合,"=" を利用します.また,値を指定しない場合,それは bool型の値見なされます. パラメータ名には,ショートネームとフルネームのどちらでも利用可能です. - key3 値を取らないパラメータです. .. literalinclude:: code/cpp/sample_commandline_parser.cpp 実行結果1(入力,出力): .. literalinclude:: output/cpp/sample_commandline_parser_input0.txt .. literalinclude:: output/cpp/sample_commandline_parser_output0.txt 実行結果2(入力,出力): .. literalinclude:: output/cpp/sample_commandline_parser_input1.txt .. literalinclude:: output/cpp/sample_commandline_parser_output1.txt 実行結果3(入力,出力): .. literalinclude:: output/cpp/sample_commandline_parser_input2.txt .. literalinclude:: output/cpp/sample_commandline_parser_output2.txt OpenCVのビルド情報を出力する =============================== OpenCV 2.4.0 では,OpenCV の完全なビルド情報を出力できるようになりました. .. literalinclude:: code/cpp/sample_buildinfo.cpp 実行結果: .. literalinclude:: output/cpp/sample_buildinfo.txt それよりも以前のバージョンでは,利用できません. 実行結果: .. literalinclude:: output/cpp/sample_buildinfo_fail.txt