問題タブ [image-comparison]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1147 参照

image-processing - トリミングされた同じオリジンの画像を比較するにはどうすればよいですか?

画像ファイル/URL があり、ソフトウェアで最大 100 個の画像のセット内 (または少なくともその桁数) で検索するようにしたいとします。ソフトウェアが検出するターゲット画像は、指定された画像と「同じ」画像である必要がありますが、いずれかのわずかな処理を「許容」できる必要があります (2 つの画像は異なる方法でトリミングされているか、圧縮されている可能性があります)。異なる)。問題は、検索が行われる前に画像がまったくない場合 (つまり、検索前にインデックスが作成されない場合)、これは実行可能なタスクですか?時間 (比較セットは非常に小さいことに注意してください)。また、可能であれば、このタスクにどのツールを使用できますか? これは、ソフトウェア コンポーネントまたはオンライン サービスである可能性があります (概念実証のためにそれを受け入れることができます)。ここでOpenSURFが私を助けてくれますか? 質問をさらに絞り込むために、どのアルゴリズムを使用するかを尋ねているわけではありません。現時点では、既存のツール/API/サービスを使用したいと考えています。

0 投票する
1 に答える
3923 参照

machine-learning - SIFT を使用した画像データベースの検索

SIFT アルゴリズムについていくつかの質問がされていますが、それらはすべて 2 つの画像の単純な比較に焦点を当てているようです。2 つの画像がどの程度似ているかを判断する代わりに、SIFT を使用して、何千もの画像のコレクションから最も一致する画像を見つけることが実用的でしょうか? つまり、SIFT はスケーラブルですか?

たとえば、SIFT を使用して画像のバッチのキーポイントを生成し、そのキーポイントをデータベースに保存してから、「クエリ」画像用に生成されたキーポイントまでのユークリッド距離が最も短いものを見つけることは実用的でしょうか?

ユークリッド距離を計算するとき、キーポイントの x、y、スケール、方向の部分を無視して、ディスクリプタだけを見ますか?

0 投票する
0 に答える
670 参照

java - ふるい分けアルゴリズムのJavaコード

重複の可能性:
Java での SIFT の実装

こんにちは、sift アルゴリズムを使用してデータベース内の画像と画像を比較する必要があります。この概念を実装するための Java コーディングをどこで入手できるか教えてください。Java プログラミングと画像比較が初めてなので、プロジェクトの完了を手伝ってください

0 投票する
2 に答える
3250 参照

c# - エッジ検出処理画像の類似判定

私は、上級プロジェクトで遭遇したジレンマに関して、stackoverflow コミュニティから何らかのガイダンスを得られることを望んでいました。まず最初に、私は初心者のプログラマーであり、このプロジェクトは私の頭をはるかに超えていたとすぐに言う人もいると思います。私はすぐに、これがおそらく真実であることに気づきました。

では、それは仕方のないことです。いくつかの定義を示しましょう。

プロジェクトの目標: プロジェクト の目標は、他の多くの人がさまざまな SO の質問で達成しようとしてきたように (その多くは、この取り組みの過程で私にとって非常に役に立ちました)、駐車スペースが満車か空いているかを検出することです。最終的には、そのようなレポートをユーザーに返します (理想的には、使いやすさのために iPhone や Droid、またはその他のモバイル アプリを介して)。

使用ツール: AForge.Net ライブラリのリソースを多用しました。IP カメラからのビデオのキャプチャ、画像へのフィルタの適用、および最終的に検出の目標を完了します。その結果、主に初心者にとって使いやすいという理由で、C# でプログラミングすることを選択したことがわかります。その他のオプションには、MATLAB/C++、OpenCV を使用した C++、およびその他の代替手段が含まれていました。

問題

ここで私は問題に遭遇しました。以下は、AForge Image Processing Lab で前処理された画像のリンクです。使用された一連のフィルターとプロセスは、グレースケール、ヒストグラム均等化、ソーベル エッジ検出、そして最後に大津しきい値処理でした (ただし、最終ステップが必要であるとは確信していません)。

http://i.stack.imgur.com/u6eqk.jpg

もちろん、肉眼での画像からわかるように、カメラで監視しているスペースに明らかに駐車中の車である検出されたエッジのシーケンスがあります。これらの車は、光沢のある車輪のパターン、本質的​​にサイド ウィンドウの外縁を表す一種の「二重線路」パターン、およびこの場合のナンバー プレートの輪郭によって明確に定義されます。ただし、具体的には、プロジェクトの継続では、選択されたカメラはできるだけ多くのブロックをカバーする PTZ になるため、車の側面の特徴に焦点を当てたいと思います (ナンバー プレートなどの要素を排除します)。 . サンルーフの長方形などの機能も考慮される可能性がありますが、一般的なウィンドウの輪郭がそうであるのに対し、明らかにこれは車の普遍的な機能ではありません.

これらのパターンには違いがあり、もちろん車種やモデルによって異なることがわかります。しかし、一般に、このシーケンスは、目的のフィーチャの検索に成功するだけでなく、道路をビューから除外します (空きスペースを検出する場合、「最初のリトマス試験紙」として道路の色を使用するつもりであるため、重要です...道路のデータと一致するグレー レベルを検出した場合、特に領域内でエッジが検出されなかった場合は、安全に空きスペースを想定できると感じます)。私の質問はこれです。うまくいけば、サイト上の他の人に実際に役立つほど一般的です。

焦点を絞った質問:
画像セグメントを (クロッピングによって) 取得し、検出されたエッジ シーケンスをカメラからの将来の新しいフレームと比較する方法はありますか? より具体的には、余裕を持たせながら/本質的にエッジのわずかな違いに対する許容しきい値を作成しながらこれを行う方法はありますか?

質問に関する個人的な考え/ブレーンストーミング:
- 文字通りピクセルごとに比較する方法があると確信しています - 端の周りの長方形だけにトリミングし、トリミングした画像を新しく処理されたフレームにスライドさせて比較ピクセル-ピクセルごとですが、検出されたエッジと完全に一致しない限り、特に役に立ちません。

すべての助けに感謝します。必要に応じて明確にすることもできます。

0 投票する
2 に答える
3431 参照

php - PHP 用の画像比較モジュール

libpuzzle とは異なり、TinEye や Google 画像アップロード検索と同様に機能する PHP 用の画像フィンガープリンティング/類似性/比較モジュールはありますか? 基本的には、ほぼ同じ (透かしやサイズ変更などを含む) 画像を 50 ~ 300 枚の画像セットに 2 回アップロードすることを避けるために必要です。

0 投票する
2 に答える
1087 参照

image-processing - 2 つの画像の違いを見つけますが、ピクセル単位では*違いません*

誰かが私を助けてくれることを願っています。

大きなスキャナーでテキストをスキャンした結果の白黒画像のペアがあります (結果のファイルは最大 500M です)。スキャンされたテキストはほぼ同じであり、実質的な違いがあるかどうかを確認する必要があります。

明らかに、同じ画像を bmp にスキャンしても、スキャンするたびに結果がわずかに異なるため、ピクセルごとに比較することはできません。

購入またはダウンロードして、その周りに .NET アプリケーションを構築できるライブラリ (オープン ソースまたは商用) を知っている人はいますか?

よろしくお願いいたします。ヘレン。

0 投票する
1 に答える
2220 参照

image-processing - コンテンツベースの画像検索のヒストグラム比較。異なる色空間 (RGB、HSV など)

OpenCv を使用して、コンテンツ ベースの画像検索の最終学位プロジェクトを行っています。ヒストグラムの比較を開始しました。問題は、RGB は操作するのに最悪の色空間であり、 HSV または YCrCb を使用する方が良いという投稿をたくさん見たことです。ただし、画像を RGB で比較すると、他の色空間を使用した場合よりも常に良い結果が得られます。

これは、YCrCb カラーのコードです。

範囲は正しいですか?

画像を正規化しますが、何も変わりません。

他の方法を試してみるべきだと思いますか?

また、ビンの数が非常に重要であり、この値を変更すると非常に異なる結果が得られることに気付きました。これを制御する方法はありますか?

よろしく

0 投票する
3 に答える
287 参照

java - N 個の画像間の距離: 段階的に! (同じ切り抜きですが、再圧縮/調整)

画像のジオハッシュ方法を見つけようとしています。可能な画像の空間は緯度/経度よりもはるかに高い次元であるため、難しいです。(ジオハッシュは場所を文字列に変換し、文字列は場所を徐々に絞り込みます)

だから、私が必要とするのは次のようなものです:

  • 入力: ディスク上の JPG または PNG 画像のリスト
  • 出力: 各画像の文字列2 つの画像に共通する文字列プレフィックスが長いほど、2 つの画像が同じである可能性が高くなります。

完璧である必要はなく、トリミングされた画像や大幅に調整された画像などの極端なケースを処理する必要もありません。これは、異なる解像度と圧縮レベルで同じ画像を複数コピーすることを目的としています。

私は使用できません:

  • ファイルまたは画像データのハッシュ。2 つの画像間のわずかな変更でも完全に異なるハッシュが作成され、近接性が得られないためです。
  • N 対 N の比較ではないため、画像の減算。

ウェーブレット圧縮またはラプラシアン/ガウス ピラミッドを試すために他の回答を読みましたが、Java または Python で実装する方法がわかりません。しかし、私は進歩しました!

  1. データを破棄しないように、 http: //today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html を使用して 32x32 にサイズ変更します。すべてが正方形に変わります。
  2. 2x2 まで、連続して小さいサムネイルのピラミッドを作成します。
  3. 2x2 で、「次のピクセルは現在のピクセルよりも明るいですか?」という文字列をエンコードします。そうであれば 1、そうでなければ 0 です(これによりすべての色相と彩度が破棄されます。何らかの形で色相を使用したい場合があります)。
  4. 8x8 および 32x32 ピラミッドから連続する 2 進数をエンコードする
  5. 大きな 2 進数を、Base62 などのより高い基数表現に変換します。

これはうまくいきそうです!圧縮またはカラー バランスによる小さな違いは、「この領域の左側が右側より明るいか」を変更するのに十分ではありません。しかし、私は車輪を再発明していると思います.ある種のプログレッシブエンコーディングの方が良いでしょうか? SIFT やその他の機能検出はやり過ぎです。クロッピングや回転を処理できる必要はありません。

0 投票する
5 に答える
1739 参照

matlab - 2つの入力間の不規則な形状の比較

私はいくつかの行動心理学研究のためのスコアリングシステムを考え出そうとしています。

グラフィックタブレットで、文字を描いてから、その上をなぞってもらいます。このトレースの精度を評価したいと思います。つまり、任意の文字('a')を描画してから、もう一度実行します。次に、最初に描画したときとの類似度に基づいてスコアを付けます。図面はピクセル位置として保存されます。

正確さは、元の文字に近いと評価されます。この方法では、スケール、回転、または位置の変更を考慮する必要はありません。概念的には、2つの線の間の領域のようなもので、線だけが非常に不規則であるため、(私の知る限り)積分は機能しません。

私はMATLABで書いていますが、概念的な助けをいただければ幸いです。描画されたすべてのピクセル間の最小距離を合計しようとしましたが、これにより、適切に配置された単一のポイントに良い(低い)スコアが得られます。

これは以前に行われたに違いありませんが、検索がうまくいきません。

---以下の@Billによって提案された方法を使用した部分的な解決策。bwdistのグラデーションが急すぎるため、機能しません。ビルが示す素敵な2番目の画像ではなく、元の画像のように見えます。

0 投票する
3 に答える
2562 参照

java - 奇妙な結果を返すユークリッド距離

ユークリッド距離アルゴリズムを使用して、色とimに基づいて2つの画像を相互に比較するプログラムを作成していますが、実行して2つの画像を渡すと、1つの距離が得られ、同じ画像を渡すと、その逆になります。まったく異なる結果のセットを取得します。

これは正常ですか、それとも答えは同じである必要がありますか?

ユークリッド距離を計算するために使用しているステートメントは次のとおりです。