この質問に配置されたサンプルコードを使用してABBYYOCRSDKを使用して画像を処理しようとしていますが、下のスクリーンショットの「OCR」という特定の単語の座標を正しく取得できません。
オーバーレイ(「OCR」という単語の上に黄色の長方形)を描きたいのですが、実際の単語から非常に離れた場所に長方形が配置されることがあります。
取得するXMLは、このスキーマに従って合成されます。
認識された文字ごとに、リンクした回答にcharParams
示されている要素のインスタンスが含まれます。要素にはページピクセル単位の座標が含まれます-同じXMLにも要素が含まれます:page
<page width="..." height="..." resolution="..." originalCoords="...">
画像の幅と高さが保存される場所。したがってl
、r
各charParams
要素は0..width-1
対応するページの範囲内にt
ありb
、各charParams
要素は対応するページの範囲内0..height-1
にあります。
また、すべての座標がピクセル単位であり、完全に解像度に依存しないことを明示的に言及する価値があります。これが、画像上で何かを強調表示しようとするときは常にズームを考慮に入れる必要がある理由です-画像はデバイスソフトウェアによって常に表示されるとは限らない可能性がありますが、縮小されるため、ページ座標をズームにマッピングする必要があります-画像の座標を出力し、適切に強調表示します。
元の画像のDPIを確認し、ドキュメントを確認して、OCRエンジンが同じDPIを使用しており、画像をポイントまたはその他の測定システムで返さないことを確認しましたか。
iOSで描画している長方形は、ピクセルではなく、他の測定システムにも基づいている可能性があります。
プロセスを進め、テストを進め、問題がどこから来ているのかを突き止める必要があります。これはおそらく均一なスケーリングであり、実際の単語からの距離は、ページの左上からの単語の距離に比例します。