C++ で記述されたテキスト検出アプリケーション ( https://sites.google.com/site/roboticssaurav/strokewidthnokia ) を使用しようとしていますが、コードがハングしています。この問題の根本原因は、関数の 1 つが 50 K の頂点と 150 K のエッジを使用する大きなグラフであり、隣接リストの「クリア」が呼び出される場所ですべてのコードがハングすることであることがわかりました。
std::vector< std::vector<Point2d> >
findLegallyConnectedComponents (IplImage * SWTImage,
std::vector<Ray> & rays)
{
...
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS> Graph;
...
Graph g(num_of_vertices);
...
}
この関数を終了した後、 g.clear() が呼び出され、プログラムはこれでハングします。どうすればこのバグを取り除くことができますか? ありがとう。