関数 | |
template<class T , class Allocator > | |
bool | mist::extract_mesh (array2< T, Allocator > &chart, matrix< vector2< double > > &grid, typename array2< T, Allocator >::difference_type row, typename array2< T, Allocator >::difference_type col, double threshold_for_circular_ratio=0.4) |
円を格子状に並べた画像から,各点を抽出しメッシュ上の点と対応付ける |
bool mist::extract_mesh | ( | array2< T, Allocator > & | chart, |
matrix< vector2< double > > & | grid, | ||
typename array2< T, Allocator >::difference_type | row, | ||
typename array2< T, Allocator >::difference_type | col, | ||
double | threshold_for_circular_ratio = 0.4 |
||
) |
円を格子状に並べた画像から,各点を抽出しメッシュ上の点と対応付ける
グリッドの点は左上を原点とし,メッシュの基準ラインを定める点列を配置する. 点列のサンプルは,mist/utility/mesh.ai を参考に作成してください.
出力されるメッシュの座標のうち,対応する点が見つからないものには (-1,-1) を出力する.
[in] | chart | … 入力画像(メッシュが映っている画像) |
[in,out] | grid | … 撮影した画像に含まれるメッシュの点数で初期化された配列(画像に移っていない点も含めた総数)を入力とし,画像中の座標が結果として出力される |
[in] | row | … メッシュの基準ラインを定める点列の中心を表す行方向の位置(0から数えた時の位置) |
[in] | col | … メッシュの基準ラインを定める点列の中心を表す列方向の位置(0から数えた時の位置) |
[in] | threshold_for_circular_ratio | … メッシュの候補を絞り込むための円形度のしきい値(これより小さい値のものは除外) |
基準となる中心点を見つける
参照先 mist::array< T, Allocator >::begin(), mist::convert(), mist::array2< T, Allocator >::height(), mist::labeling4(), mist::array< T, Allocator >::size(), と mist::array2< T, Allocator >::width().