4

アプリケーションを実装していますが、アプリは背景に基づいて画像をトリミングする必要があります。ドキュメント スキャン アプリケーションで同様の動作を見たことがあります。これらのアプリケーションでは、トリミングのために画像の境界線が自動的に選択されます。この機能を実現する方法を理解するのを手伝ってくれる人はいますか?

免責事項: これは「Askdifferent - Apple」の質問かもしれないと思ったのですが、SO. したがって、これが属していない場合は、どこに問い合わせればよいか教えてください。

更新: コメントに応答して、これまでに行ったことは次のとおりです。

  • アプリがカメラを起動し、
  • ビューファインダーの AVSession を設定し、
  • 写真にプリセット、画像をキャプチャ、ファイルに保存
  • また、CG API を使用して圧縮することにより、すべての画像の小さなサムネイル プレビューを作成しています。
  • AQGridView を使用して画像を表示します。

目標は、圧縮するのではなく、「自動トリミング」画像を表示して、AQGridviewユーザーエクスペリエンスを向上させることです。私のアプリの性質に基づいて、レシートのスキャンとよく似ています。被写体は比較的鮮明な背景の画像のごく一部しか占めていない可能性があるからです。明確にするのに役立つことを願っています..

4

1 に答える 1

1

これに取り組むかなり簡単な方法は、画像を上から下にスキャンし、すべての行の値のプロファイルを確認することです。印刷領域の外にいる間、基本的に背景が見えます。つまり、プロファイルは非常に平坦で、高い値 (明るい値) がゆっくりと変化し、ノイズの変動があります。印刷された特徴を満たすと、プロファイルは少なくとも 1 つのカラー コンポーネントで負のステップを示します。

それらを確実に検出するには、厳密に減少する一連の値を分離し、減少の合計が特定のしきい値に達したときに重要なイベントを考慮することをお勧めします。これにより、一番上のトリミング ラインが得られます。減少後の暗い領域が十分に長いことを確認することで、誤検出を減らすこともできます。

これを下から、左右から同様に繰り返します。

于 2012-05-08T09:45:43.277 に答える