OpenFrameworksでWEB上のファイルを受け取る
WEB上のテキストや多種多様なファイルを受け取ることが出来ると、便利ですね。openFrameworksの標準機能で実現できます。
ofHttpResponse intrinsics = ofLoadURL("http://10.254.20.46:7890/intrinsics.yml");
cout << intrinsics.data << endl;
画像配信サーバーで、カメラパラメータも配布するようにすると、いちいちファイルを探さなくてもいいので楽ちんです。
ファイルから読む代わりにメモリ上のテキストをcv::FileStorageとして渡す方法は、次のようにします。
//FileStorage fs("intrinsics.yml", FileStorage::READ);
FileStorage fs(intrinsics.data.getText(), FileStorage::MEMORY);
if( fs.isOpened() )
{
fs["M1"] >> cameraMatrix[0];
fs["D1"] >> distCoeffs[0];
fs["M2"] >> cameraMatrix[1];
fs["D2"] >> distCoeffs[1];
fs.release();
}
else
cout << "Error: can not save the intrinsic parameters\n";
よく設計できてますね。