問題タブ [computer-vision]

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 投票する
6 に答える
24574 参照

algorithm - Viola-Jonesの顔検出は18万の機能を主張します

私はViola-Jonesの顔検出アルゴリズムの適応を実装してきました。この手法は、画像内に24x24ピクセルのサブフレームを配置し、その後、可能な限りすべてのサイズですべての位置に長方形のフィーチャを配置することに依存しています。

これらの機能は、2つ、3つ、または4つの長方形で構成できます。次の例を示します。

長方形の機能

彼らは、網羅的なセットが180k以上であると主張しています(セクション2):

検出器の基本解像度が24x24であることを考えると、長方形の特徴の網羅的なセットは非常に大きく、180,000を超えます。Haarの基礎とは異なり、長方形の特徴のセットは不完全であることに注意してください。

以下の記述は、この論文では明示的に述べられていないため、私の側の仮定です。

  1. 2つの長方形の機能が2つ、3つの長方形の機能が2つ、4つの長方形の機能が1つだけです。この背後にある論理は、強調表示された長方形の違いを観察していることであり、色や輝度などを明示的に観察しているわけではありません。
  2. フィーチャタイプAを1x1ピクセルブロックとして定義することはできません。少なくとも1x2ピクセルである必要があります。また、タイプDは少なくとも2x2ピクセルである必要があり、このルールは他の機能にも適用されます。
  3. 中央のピクセルは分割できないため、フィーチャタイプAを1x3ピクセルのブロックとして定義することはできません。また、それ自体からそれを差し引くことは1x2ピクセルのブロックと同じです。このフィーチャタイプは、偶数の幅に対してのみ定義されます。また、フィーチャタイプCの幅は3で割り切れる必要があり、このルールは他のフィーチャにも適用されます。
  4. 幅や高さが0のフィーチャを定義することはできません。したがって、xyを24からフィーチャのサイズを引いた値まで繰り返します。

これらの仮定に基づいて、私は徹底的なセットを数えました:

結果は162,336です。

Viola&Jonesが話す「180,000以上」を概算するために私が見つけた唯一の方法は、仮定#4を削除し、コードにバグを導入することです。これには、4行をそれぞれ次のように変更することが含まれます。

その結果、180,625になります。(これにより、機能がサブフレームの右または下、あるいはその両方に接触するのを効果的に防ぐことができます。)

もちろん、質問です。彼らは実装に誤りを犯しましたか?サーフェスがゼロのフィーチャを検討することは意味がありますか?それとも私はそれを間違った方法で見ていますか?

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

matlab - 領域マスクで表されるポリゴンのコーナーを見つけます

BW = poly2mask(x, y, m, n)ベクトルxおよびyで表されるROIポリゴンからバイナリ関心領域(ROI)マスクBWを計算します。BWのサイズはm-x-nです。

poly2maskポリゴン(X、Y)の内側にあるBWのピクセルを1に設定し、ポリゴンの外側のピクセルを0に設定します。

問題:凸四角形の そのようなバイナリマスクBWを考えると、四隅を決定するための最も効率的な方法は何でしょうか?

例えば、

例

これまでの最善の解決策:境界線を見つけるために 使用edgeし、ハフ変換を使用してエッジ画像内の4本の線を見つけ、次にそれらの4本の線の交点を見つけるか、エッジ画像上でコーナー検出器を使用します。複雑なようで、もっと簡単な解決策があると感じずにはいられません。

ところで、convhull常に4ポイントを返すわけではありません(おそらく誰かがqhullそれを防ぐためのオプションを提案することができます):エッジに沿っていくつかのポイントも返します。

編集: アムロの答えは非常にエレガントで効率的なようです。ただし、ピークは一意ではないため、実際の各コーナーに複数の「コーナー」が存在する可能性があります。θに基づいてそれらをクラスター化し、実際の角の周りの「コーナー」を平均化することもできますが、主な問題はの使用ですorder(1:10)

すべてのコーナーを説明するのに十分です10か、それとも実際のコーナーの「コーナー」を除外しますか?

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

c# - C#-マルチタッチヘルプ?USBウェブカメラ入力?画像分析?

私はDIYタッチスクリーンを作ろうとしていて、それを地元の科学博覧会に参加させたいと思っていますが、マルチタッチのプログラミングの側面でそれをやりたかったのです。私の問題は、(USBベースのWebカメラからの)画像の分析に取り組んだことがないということです。
可能であればC#でこのプロジェクトを実行したいと思います(C ++-最悪の場合は最悪の場合) (USB Webカメラからの)
黒い画像を分析してから、白いしみが見えてくるのを検出する必要があります。どうすればこれを行うことができますか?---すべてのpxlを分析するのではなく、変更を検出するための既知の方法はありますか?もしそうなら、これがどこにあるかへのポインタがいいでしょう:)
また、USB経由でWebカメラから入力を取得するにはどうすればよいですか?---ライブラリ/ddlはどこで入手できますか?
私はこれで動作するいくつかのプログラムを見ましたが、それらは画像を変換します-これは時間とプロセッサ速度を消費します...生の入力画像/データを使用する方法はありますか?
ヘルプ?

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

c++ - Webカメラのオートフォーカスをプログラムで無効にする方法は?

ウェブカメラを使用してコンピュータービジョンを実行しようとしています(モデルはHercules Dualpixです)。使用するのに理想的なカメラではないことは知っていますが、ここでは選択の余地がありません。

問題は、オートフォーカスによってカメラのキャリブレーションが困難/不可能になることです。オートフォーカス機能を無効にする方法は誰でも知っています。または、誰かがそれに対処し、オートフォーカスでカメラを調整するアイデアを持っている場合。

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

algorithm - 画像認識のためのリソース

画像処理アルゴリズム(顔や形の認識など)の紹介に関する推奨事項を探していますが、本、ホワイトペーパー、またはWebサイトのいずれかについて誰かが良い推奨事項を持っているかどうか疑問に思います。

私は画像認識についてほとんど知らないことから始めて、大学でいくつかの数学をしました(ずっと前に)。

ヘルプやポインタをいただければ幸いです。

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

machine-learning - 画像から主な/最も使用される色を抽出する

画像内で最もよく使用される色、または少なくとも主要な色調を抽出したいのですが、このタスクを開始する方法を教えてください。または同様のコードを教えてください。私はそれを探していましたが、成功しませんでした。

0 投票する
9 に答える
53031 参照

graphics - この画像の長方形を認識する方法は?

水平線と垂直線のある画像があります。実は、この画像はBBCのウェブサイトを横線と縦線に変換したもの。私の問題は、画像内のすべての長方形を見つけられるようにしたいということです。すべての長方形を見つけるコンピューター プログラムを書きたいと思います。誰かがこれを行う方法を知っているか、開始方法に関するアイデアを提案していますか? このタスクは、人間として視覚的な四角形を見つけるのは簡単ですが、プログラムとして説明する方法がわかりません。

画像はこちらの BBC ウェブサイトhttp://www.bbc.co.uk/


これを更新して、BBC Web サイトの画像を水平線と垂直線に変換するコードを書きました。問題は、これらの線が角で完全に交わらず、長方形を完全に形成しない場合があることです。ありがとう!

0 投票する
9 に答える
60929 参照

python - 画像比較アルゴリズム

私は画像を互いに比較して、それらが異なるかどうかを調べようとしています。最初に、RGB値のピアソン相関を作成しようとしました。これは、画像が少しずれていない限り、非常にうまく機能します。したがって、100%同一の画像があり、1つが少し移動している場合、相関値が正しくありません。

より良いアルゴリズムのための提案はありますか?

ところで、私は何千もの画像を比較することについて話している...

編集:これが私の写真の例です(顕微鏡):

im1:

ここに画像の説明を入力してください

im2:

ここに画像の説明を入力してください

im3:

ここに画像の説明を入力してください

im1とim2は同じですが、少しシフト/カットされているため、im3は完全に異なるものとして認識されます...

編集: 問題はピーターハンセンの提案で解決されます!非常にうまく機能します!すべての回答に感謝します!いくつかの結果はここで見つけることができます http://labtools.ipk-gatersleben.de/image%20comparison/image%20comparision.pdf

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

computer-vision - Emgu CV SURFFeature エラー

Emgu CV (Computer Vision) ライブラリをダウンロードし、SURFFeature の例を見てみました。

与えられた例の代わりに、比較するために2つの新しい画像を入れようとしていますが、この行で新しい画像でエラーが発生します:

私はこの例外を受け取ります:

OpenCV: 配列は CvMat または IplImage である必要があります

なぜそれが私のイメージを受け入れないのか理解できません。誰かアイデアはありますか?

トニー