私はOpenCVを学ぼうとしていますが、頭が固いので、次のアルゴリズムを実行しようとしています:
cv::Mat cur_features;
cv::goodFeaturesToTrack(current_image, cur_features, 400, 0.01, 0.01);
さて、頭の固い個人として、cur_features が保持しているものを確認することに興味があります... 400x2 cv::Mat を期待していましたが、代わりに 400x1 cv::Mat を取得しました
大したことではありませんが、おそらく直接的なインデックスだと思います。ただし、私の人生では、cur_features.at(0) から値を抽出して出力することはできません。
私は何を間違っていますか?goodFeaturesToTrack_Demo.cpp を見てきました。そのデモで注意すべき点がいくつかありますが、私のものとは異なります。その例を考えて、次の呼び出しを試しました。
std::cout << cur_features.size() << std::endl; // This throws a compile time error even though its in the example
std::cout << cur_features.at<Point2f>(0).x << std::endl; //This throws a run time error.
誰かが私の目標を達成する方法を説明するドキュメントに私を導くことができますか? goodFeaturesToTrack は、コーナーのベクトルである OutputArray を返すことを示していますが、それらのコーナーのタイプについてはどこにも説明していません。他の方法でこの回答を取得した場合、ドキュメントのどこでこの回答を探すことができますか?
編集: また、Mat::type()のポイントは何ですか。戻り値を説明できる場所が見つかりません...ドキュメントで列挙を探していますが、見つけるのに苦労しています。
std::cout << current_image.type() << std::endl; //This returns 0
std::cout << cur_features.type() << std::endl; //This returns 13