たまたまみつけた迷路ソルバ.
http://www.mathworks.com/matlabcentral/fileexchange/27175-mazesolution
通常はスタート地点から右手を壁につけて進むという手法だが,これは図形的に解くという面白い手法のようだ.
ちょっと理解が足らないとは思うが,どうやら次のようにして迷路を解くらしい.
仮定: 解となる道は一つだけ.つまり,トポロジ的には壁が2つのコンポーネントになっている.
1. モーフォロジカル演算(上下左右につながっているピクセルを見つけるとか,その領域を広げるなどの演算)を用いて2つの壁を分離する.
2. 2つの壁をモーフォロジカル演算にて道の幅だけ広げる.
3. AND 領域が答えである.
Cool だ.