問題タブ [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 投票する
1 に答える
4285 参照

java - 2 つの画像を表す 2 つのバイト配列の比較

Android 用の小さなアプリケーションをプログラミングしており、2 つの画像を比較する必要があります。画像は 2 バイト配列として表されます。

それらを比較するアルゴリズムはありますか?それらの間で行われた変更を確認する必要があります。

0 投票する
4 に答える
30806 参照

python - Pythonで画像を比較する

ソフトウェアのスクリーンショットである2つの画像を比較する必要があります。画像に表示されている数字や文字を含め、2つの画像が同一であるかどうかを確認したいと思います。これはどのように達成できますか?

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

c# - ピクセル未満の単位、画面の大部分で画面の部分的な画像を検索する画面のcupture

全体として、CopyFromScreen()方法iを使用すると、(以前にキャプチャされた)画像を、その特定の画面から実際にキャプチャされた原因と同じ画像と比較することができました。

または、より単純に、たとえば、デスクトップから切り取って、その場所(ポイント)とそのサイズ(size(h、w))を参照するテキストファイルとともに画像として保存したアイコン

したがって、File.WriteAllBytes(byte [] made it .bar)を介してcaptured.barをファイル+ cuptured.txtに、場所とサイズを参照して取得すると、コピーがhddに保存され、その場所とサイズがtxtになります。(私はすべてのコードを投稿する必要はありませんでしたが、それはうまくいくので、誰かがそれを必要とするなら..私は気軽に共有します)

これを実現する方法は、私が作成した方法を使用することです。これを使用しているDoCopyFScr()画面の一部をキャプチャしBitmap2ByteArr()、ビットマップをByteArrとして保存し、後で必要に応じてbyte []を使用して保存し、画面上のキャプチャされた場所と比較します。

キャプチャされたbtmpをbyte[]に変換するメソッドを使用したビットビットからByteArrクラスへの変換

しかし、場所が変更された場合、画面上に画像の新しい場所を指定しても識別できません。ただし、テストを行ったときに、ペイントを使用し、グリッドをオンにして、同じトリミングされた画像の2つのコピーを配置しました。成功しましたが、いくつかのアイコンの背景が共有されているゲーム画面の実際のシナリオでは、それらを互いに比較しようとしましたが、場所を指定しても成功しませんでした。ピクセルよりも小さいユニットがありますか?たぶん、ゲームのグラフィックは、ピクセルのほんの一部である一種のユニットを使用していますか?または他のユニットなので、指定された場所Point1は最初のアイコンのX100 Y100であり、200,200ではなく他のユニットは実際には200.33、200.55程度です...そしてそれがデッドロックの位置/場所を取得しない理由ですか?psそうでない場合は、diretxを使用していると思います」ピクセルよりも小さい単位はまったく存在しますか...そして一般的に使用されますか? そうでない場合は、たとえばx100からx150およびy100からy150にループする関数をどのように実装して、画像を検索できるようにしますか

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

c# - キャプチャされた画面とByte[]への変換(画像比較方法)

画像比較に関するいくつかの投稿を赤くして、画面からキャプチャした画像を保存してファイルシステムに保存しようとしました。

変換方法を使用して、キャプチャした画像byte[]を後で使用するために変換しました。

次に、2番目のスクリーンキャプチャと比較する場合は、(に保存されたファイルを)ロードして、同じ方法byte[]で変換された新しいキャプチャと比較します。byte[]

さて、1回目のキャプチャと2回目のキャプチャの両方をメモリ内で行う場合、比較を行う方法はほとんどありませんでした。まず、同じ答えを探している他の人とこの投稿を共有して、知りたいと思いました。

どちらが高速で、類似性のパーセンテージを制御するにはどうすればよいですか?

(等しい)パーセンテージを持つオプションが計算の最速の方法に反対している場合...パフォーマンスの問題がない場合、およびそのニーズに応じて、他のプロジェクトで使用できますが、無視できます

これらは、タスクを実行するために利用できることがわかっているコードです

私はあなたと一緒に、より速いアイデアと、平等のパーセンテージがある場合とない場合のより良い方法があるかどうかを確認したいと思いました。ありがとうございました。

vs

後者は使用していますSystem.Security.Cryptography

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

java - java.util.zip.CRC32 画像ファイルの比較

2 つの異なる画像ファイルが同じかどうかに関係なく比較する方法の概念を理解するのに役立つ提案 (コード) はありますか?

前もって感謝します。

編集:たとえば、ファイルのサイズチェックでCRC32(方法がわからない)をチェックする必要があります。それは、それらがまったく同じ写真であることを意味します...

EDIT2:画像が同じであると言うとき、画像はユーザーにとってまったく同じに見えることを意味します.

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

opencv - 2 つの画像の特定の領域のヒストグラムを比較しますか? OpenCV

基本的に、2 つのヒストグラムを比較できるようにしたいのですが、画像全体ではなく、特定の領域だけを比較したいと考えています。画像 A があり、その上に別の画像 B と比較したい特定の長方形領域があります。画像上の定義可能な長方形領域のヒストグラムを取得する方法はありますか? 長方形領域の xy 位置と幅と高さがあり、そのヒストグラムを取得したいと考えています。私はpythonでopencvを使用しています。

それがあまり明確でない場合は申し訳ありません:(

(回路基板の写真を撮り、各はんだパッドが完全な基板のイメージと一致しているかどうかをチェックするプログラムをセットアップしています。1 つのパッドがオフの場合、プログラムは特定のパッドがオフであるというフラグを立てます。 x パーセントであり、ボード全体ではありません。

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

matlab - vlfeatの画像のポイントを一致させるためのMatlabのサブプロットメカニズムに行き詰まる

私はMatlabでvlfeatをやっていて、この質問hereに従っています。

以下は私の簡単なテスト画像です。

左の画像:

L

右の画像:

R

ここで2つの単純な画像を使用して簡単なテストを行いました(右の画像は左の画像を回転させただけです)、結果は次のとおりです。

テスト

それは機能しますが、次のように、2 つの画像の SIFT ポイントを一致させて表示するというもう 1 つの要件があります。

このような

vl_ubcmatch が一致したインデックスの 2 つの配列を返すことは理解しています。2 つの画像のどのポイントがどのポイントに移動するかをマッピングすることは問題ではありません。しかし、私は現在 matlab の手順で立ち往生しています。私はこれを見つけまし。しかし、それはサブプロットがそのままである場合にのみ機能します。サブプロットに画像を追加すると、サイズが変更され、正規化が失敗します。

ここに私のコードがあります:(imとim2は画像です。f、dとf2、d2はそれぞれ2つの画像からのvl_sift関数からのフレームと記述子です)

上記のコードは次のようになります。

を

サブプロットは、このようなものには適していないと思います。Matlabでこれを行うためのより良い方法はありますか? できれば、OpenGL スタイルで 2D ゲームを描くのと同じように、自分のイメージを描画し、自由に線を引き、自由にズームできる空のパネルのようなものが欲しいです。

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

c# - 画面共有アプリの2つの画像の違いを見つける

こんにちは私は、デスクトップのスクリーンショットがソケットを介してネットワーク経由で送信されるクライアント/サーバーリモートビューア(デスクトップ共有)アプリケーションを作成しています。2つの画像の差を取得して差を送信することにより、転送のサイズを縮小したいと思います。一方、違いはもう一方の端で前の画像とマージされます。

だから誰かが私にこの仕事をどのように達成できるか教えてください。それでも今、私は毎回ネットワークを介して画面の完全な画像をプログラムで送信し、もう一方の端のプログラムはその画像を表示するだけです。膨大なデータがネットワークを通過していて、もう一方の端の画面更新速度が遅いように感じます。ですから、2つの画像を比較し、違いだけをもう一方の端に送信する方法を教えてください。また、違いを他端の実際の画像とマージする方法も教えてください。

1)画像の比較には多くの無料のコードとライブラリが利用できますが、どれを使用すればよいのか、どれを比較すると非常に高速になるのかがわかりません。だからこれに関して私を導いてください。

2)そして最も重要な部分は、ネットワークを介してのみ差異を送信し、もう一方の端で実際の画像と差異をマージする方法です。

私は自分のポイント2に関する情報を取得するために多くのことを試みましたが、同様のものは何も得られませんでした。ネットワーク経由でのみ違いを送信し、もう一方の端で実際の画像と違いをマージする方法を教えてくれる記事は見つかりませんでした

だから私は特に私のポイント2についての詳細な議論を探しています。ありがとう

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

c# - 2 つの画像を比較し、emgu cv ライブラリを使用して違いを抽出する

image1.png と image2.png のような 2 つの画像を比較したい。だから私は違いを取得し、最初の画像image1.pngに違いを適用したい. このライブラリの同様の種類のコードを取得するためにたくさん検索しましたが、何も見つかりませんでした。

多くの検索の後、私はJavaコードで探しているものと少し似たようなものを手に入れました。ここにURLがありますhttp://mindmeat.blogspot.in/2008/07/java-image-comparison.html

URLにアクセスしてください。コードが違いのある3番目の画像を生成するのを見ることができますが、私の要件は少し異なります。3 番目の画像を生成するのではなく、1 番目の画像 image1.png に違いを適用したい。emgu cv ライブラリを使えばとても簡単にできると言う人もいました。だから私はemgu cvライブラリに基づいて同様のコードを検索しましたが、見つかりませんでした。誰でもemgu cvライブラリを使用したサンプルコードを案内してくれると助かります。

ありがとう