この課題は、私がバーコード システムで遭遇した問題と非常によく似ています。私の答えは、私が使用する方法の一般化された説明です。
画像をグリッドに分割することから始めます。グリッドでは、1 つの文字セルが 1 つのグリッド セル内に収まります。これにより、グリッドが画像にどのように重なっているかに関係なく、すべての文字が 2x2 グリッド セル内に収まることが保証されます。
画像をドットに変換します。ドットは、ピクセルの小さな領域を使用したローカル識別によって識別されます。
各ドットにグリッド セル番号を割り当てます。これは、x/y 位置を 32 ピクセルのセル ((y/32)*(幅/32))+(x/32) で割ったような簡単なものである必要があります。
グリッド セルごとのドット数を保持し、すべてのドットが識別されたら、ドット テーブルをグリッド番号で並べ替え、テーブル内の変位と要素数によってインデックスを作成します。
解像度が異なる場合は、多数のドットでいくつかのセルをサンプリングして、セル ペア間の距離を決定します。
行ごとにセルを調べますが、2x2 セル グループを使用して各セルを調べます。このようにして、テストされているセル内のドットは、ペアのドット (存在する場合) と一致することが保証されます。グリッド ドットを使用することで、相互にローカルなドットにのみ一致させる必要があるため、画像に数千のドットが含まれる場合でも、個々のドットは 1 ~ 10 のドットに一致させるだけで済みます。
ドットをペアリングすると重複が作成されますが、マッチング中に防止するか、後で削除できます。
この時点で、ドットを点字に合わせる必要があります。水平方向のペアのペアと垂直方向のペアのペアは、点字テキストの整列を開始できるはずです。
線が整列されると、スペック テーブルは、決定されたテキストの整列に回転されます。ペアを整列させ、ペアの位置から、ペアのグリッド位置をドット テーブル内のペアになっていないドットに一致させることによって、一致しないスペックを追加することができます。