問題タブ [haar-wavelet]

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

opencv - SURF 記述子の実装

SURF 記述子(長さ 64 のベクトル)を生成したい。元の論文
で は、ここで次のように述べています。

領域は、規則的に小さな 4*4 の正方形のサブ領域に分割されます。サブ領域ごとに、5*5 の等間隔のサンプル ポイントで Haar ウェーブレット応答を計算します。

OpenCVのヘルプを使用すると、キーポイントとそれに関連する領域を ( と を使用KeyPoint::sizeしてangle) 取得できますが、私の質問は次のとおり
です。1. Haar ウェーブレット応答を計算する方法は?
2. 「5 x 5 の等間隔のサンプル ポイント」とはどういう意味ですか?

Harr ウェーブレットに関するwiki紹介を読みましたが、コードの書き方はまだわかりません。
OpenCV の使用方法は知っていましたSurfDescriptorExtractorが、元の領域を拡大または縮小して新しい記述子を取得する必要があるため、使用できません。

SURF記述子を生成する方法についてのヒントをありがとう。

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

matlab - カラー画像フォームのMatLab Daubechiesフィルターをゼロから作成 - プリセット関数を使用しない

これは私の最初の投稿です。誰かが私が始めるのを手伝ってくれることを願っています。それで、私はクラスプロジェクトの画像処理に取り組んできました。Haar 変換関数をゼロから作成することから簡単に始めました。これは非常に簡単で、cameraman.tif などのプリセット画像に適用しました。ただし、そのサンプル画像はグレースケールと正方行列です。

今、私たちは大きな飛躍を遂げ、フィルターを長方形の色付きの画像に適用することになっています。imread(picture)赤、緑、青 (RGB) を表す 3 つの値を持つ配列マトリックスを作成すると理解しています。また、基本的に言えばfor、色の各チャンネルを通過するためにループを使用する必要があることも理解しています。ただし、さまざまなチャンネル用に作成して画像を元に戻す方法については、つまずきます。

私はここでいくつかの素晴らしい答えを見て、女性とフルーツバスケットの例を再構築することができましたが、残念ながら、それらはすべてプリセットDWT機能を使用しているため、使用してはなりません.

最終的なコードは次のようになります: 1) 必要な反復回数をユーザーに尋ねます。

2) ユーザーにしきい値について尋ねる

3) ユーザーに反復回数を尋ねる (1-3)

サンプル画像として、長方形のビットマップを選択しました。これはまだ圧縮されておらず、簡単な識別子として「1」を使用しているためです。

ここで、しきい値の絶対値の外側の値をゼロに設定しながら、ユーザーが指定した反復回数で Daubchechies Wavelet Transform を実行する必要があります。画像再構築前。

十分な情報を提供できたことを願っています。既に間違っていた場合は修正してください (そうでないことを願っています)。ループを実装してチャネルに対処しようとするたびに、コードが壊れ始めます。参考までに、元の cameraman.tif 画像で機能した Haar 変換を次に示します。

どうもありがとう!

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

opencv - opencv_traincascade CvCascadeClassifier::fillPassedSamples の無限ループ

だから私はopencvの最新のLBPカスケードトレーナーで遊んでいて、無限ループに陥り続けています。その理由は、限られたネガ (背景) 画像セットが原因である可能性があると思います。ただし、プログラムは無限ループに陥ってはいけません... 無限ループの場所を特定し、無限ループを回避するためだけでなく、生成されたカスケード ファイルでの検出パフォーマンスを改善するためにソース コードにいくつかの変更を加えました。ただし、コードを理解している人に、これが適切な修正であるかどうか、およびそれが機能する理由 (またはそれ以外の場合) を教えてもらいたいと思います。

サンプルの準備: 1 つのポジ画像があり、「createsamples」を使用して 100 の歪んだ/回転したポジ サンプルを生成しました。

「ネガティブ」ディレクトリにはネガティブサンプルが 5 つしかありません。次に、私のトレーニング コマンド:

「neg.txt」にネガ画像が 5 つしかないにもかかわらず、-numNeg 200 を設定したことに注意してください。後で、numNeg がネガティブ画像の数と一致する必要がないことがわかりました。これは、プログラムがネガティブ画像から画像の一部を繰り返し「トリミング」して、トレーニングのためにポジティブ画像に対して使用するためです。

ステージ 4 で、無限ループに遭遇します ("// !!!!!" を参照):

問題は、「preduct(i) == 1」条件が満たされて無限ループを終了するまで、 imgReader.getNeg(img) が負のセットからトリミングし続けることだと思います。「predict(i)」が何をするのかわかりませんが、負のセットが小さくて制限されている場合、「predict(i)」が 1 を返すための「さまざまな」画像が不足すると思います...ループは決して終了しません。解決策の 1 つは、次に試みるネガティブ セットを作成することです。他のより迅速な解決策は、// !!!!! で追加したコードです。試行回数を負の画像ごとに平均 200 に制限し、適切な候補が見つからない場合は強制的にループを終了します。

この修正により、私のトレーニング セッションはステージ 5 に進み、そこで停止しました。アプリにカスケード xml を配置したところ、ステージ 4 で停止を設定して無限ループを回避した場合よりもパフォーマンスが向上しました。

コードをもっと理解している人が私たちをさらに啓発してくれることを願っています...

ありがとうございました

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

opencv - OpenCV2.4.3Haar分類子エラーAdaBoostの誤分類

Ubuntu 12.1064ビットでOpenCV2.4.3を使用していますが、opencv_trainingを実行すると、以下に示すエラーメッセージが表示されます。トレーニングは継続されているため、重大なエラーではないと思いますが、それでも「エラー」と露骨に表示されます。私はこれに対する解決策を見つけることができないようです-それはどういう意味ですか(AdaBoostとは何ですか)、なぜそれは「ミスクラス」について不平を言っているのですか、そしてどうすればそれを修正できますか?私がグーグルで見つけたものはすべて、これを単に「警告」と呼び、基本的にそれを忘れていました。ありがとう!

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

opencv - haarカスケードが検出されたかどうかを確認する方法はありますか?

関数detectMultiScale()はvoidを返すため、その関数を使用してオブジェクトが検出されたかどうかを確認することはできません。

オブジェクトが検出されたフレーム番号をテキストファイルに渡したいのですが。カスケードが検出されたかどうかを確認できない場合、その方法がわかりませんか?

cvHaarDetectObjects()C APIから使用する必要がありますか?

親切に助けてください!

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

opencv - Cmake を使用して CV を開く

ハラー検出プロジェクトに取り組んでいます。Opencv に付属の .cpp ファイルを使用して exe ファイルを生成したいと考えています。私はそれにCMakeを使用しています。それをしようとすると、このようなエラーが発生します。解決方法がわかりません。

CMakeLists.txt:7 (ocv_check_dependencies) の CMake エラー: 不明な CMake コマンド "ocv_check_dependencies"。

構成が不完全です。エラーが発生しました!

ソースリンク: C:/opencv/apps/haartraining

リンク先: D:/build

私を助けてください。

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

opencv - 回転不変検出器の最適なソリューションは何ですか?

カスケード分類器に基づいてオブジェクト検出器を作成したいのですが、唯一の問題は、LBP と Haar の特徴が回転不変でないことです。最初に頭に浮かぶのは、トレーニング サンプルをさまざまな角度で回転させることですが、結果として得られる分類子の品質が高くなるとは思えません。さらに、オブジェクトのプロポーションが引き伸ばされる可能性もあります。回転不変の検出器はたくさんあります。たとえば、iPhone はあらゆる向きの顔をリアルタイムで認識しますが、どうやってこれを実現しているのでしょうか。これにはOpenCVを使用したいと思います。

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

opencv - トレーニング済みの AdaBoost 分類器から Haar 特徴を表示する

分類器のすべての段階でどの Haar 機能が使用されているかを視覚的に表示する方法はありますか?

私は最近、opencv_traincascade.exe を使用して、車両を検出する分類器をトレーニングしました。さらなる分析のために、すべての段階で機能が評価されていることを確認したいと思います。

ご協力いただきありがとうございます。

編集

ノードの意味とは何か、cascade.xmlに関する情報を誰かが提供できれば素晴らしいことです。ありがとう

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

opencv - haar 分類器の cascade.xml の説明

誰かが cascade.xml の数値/値を完全に説明できれば最高です。例:

これらの値の意味は何ですか

もう 1 つの質問は、特定のステージで使用する機能をプログラムがどのように認識するかということです。私の知る限り、機能は次のような形になっています

これにより、以下のようなものを形成する 2 つの長方形の座標になります。

-1 の値は何ですか。と 3. とはどういう意味ですか? 私はそれが重みであることを知っていますが、機能を計算するためにどのように使用されますか?

概要

  1. 内部の値の意味は何<internalNodes>ですか?
  2. 機能はどのように計算されますか? ウェイトはどのように<rects>使用されていますか?
  3. 最も重要なことは、どのフィールドが特定のステージ/ノードでどの機能が使用されているかを示すことです。

ありがとう!

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

haar-wavelet - Haat をマザー wavley として使用する Wavelet 変換用の Java ライブラリはありますか?

こんにちは、特徴抽出にウェーブレット変換を使用するアプリケーションを開発しています。2d Discrete wavelets Transformation を haar conversion で変換できません。そのためにはソースコードが必要です。これを行うためにすでに利用可能なJavaライブラリはありますか?これについて詳しく教えてください。