2017-05-05 9 views
0

現在サイドプロジェクトに取り組んでいますが、大きな部分があります。同じ画像を検出していますか?

目標は、6つの画像/アイコンを含む別の一般的なアプリからスクリーンショットを撮ることです。ユーザーが自分のアプリに入ってそのスクリーンショットをアップロードすると、6つの画像を検出してコレクションビューに配置することができます。

問題は、スクリーンショットの6つの画像のタイプを検出していますが、私はTesseractのようなOCRを使用することを考えましたが、スクリーンショットにテキストがないため6つの画像しかないので、何か助けるかもしれないのは、そのアプリではすべての画像が50種類しかありません。イメージのデータベースのいくつかの並べ替えを作成するだろうか?しかし、私はそれらをどのように比較しますか?

これが意味をなさない場合はお詫び申し上げます。私はそれをどのように語るのか分かりません。どんな助けも素晴らしいだろう。

+0

画像と画像を比較してラベルを付けるといいですか? –

+0

はい、スクリーンショットから6枚の画像を検出し、画像のセットと比較したいと思います。お互いをどのように比較するか分かりません。 – Gum

+0

私は、スクリーンショットで6枚の画像を試して見つけようとするとき、顔認識に似た何かを使用することを目標にしていると思います。これは洗練されたコンピュータビジョンタイプの問題のように聞こえる。 –

答えて

0

これを複数のタイプのデバイスで実行できるようにするには、OpenCVのようなコンピュータビジョンライブラリが必要です。

ユーザーが常に同じデバイス(iPhone 5の場合は常に)でアプリを実行する場合、アイコンは常に同じ場所に表示され、スクリーンショットをスライスしてコンポーネントイメージを抽出し、サブイメージ上でバイト単位の比較を行います。ただし、iPhone 4、iPhone 5、iPhone 6、6以上のスクリーンサイズ、iPad、iPadの網膜、iPadのプロ(大小)、そしておそらくポートレートと風景の向きがあります。おそらく、6つの画像は、それらのすべての異なるデバイスの画面上の異なる場所に着陸し、あなたは同様に対処するために異なる画像解像度を持つでしょう。 OpenCVを使用すると、複雑なルールセットを構築するのではなく、スクリーンショットを「見る」ことで、イメージの境界線を見つけることができます。

0

SIFT機能(Pythonバージョンhereと一致するOpenCVサンプルコードを見てください。ただし、他の言語の例もあります)。それはあなたがしたいことの簡単なバージョンを示しています。

関連する問題