信号処理

信号、画像およびビデオ処理の芸術および科学の実務家のためのQ&A

2
メインエッジを破壊せずにノイズを取り除く方法は?
私はプロジェクトに取り組んでいます。車からロゴを分割したいのですが、写真のサイズは3648 * 2432です。ロゴは赤い長方形で選択されています。 この領域を抽出して、グレーレベルに変換します。エリアのサイズは249 * 173です。次に、ヒストグラムイコライズを使用してエッジを強調します。最後に、適応型cannyを使用してエッジを見つけます。 ただし、結果は完璧ではありません。そこで、中央のフィルターを使って左の画像を滑らかにしました。結果は以下の通りです。 細かい部分を外します。 結果は改善されましたが、それも良くありません。また、バイラテラルフィルター、ミーンフィルター、ガウシアンフィルターを試してみましたが、あまり良くありません。ヒストグラムイコライズを通過した後、ノイズが強調されることを知っています。しかし、場合によっては、コントラストが低いため、このステップを調整して自分の写真を強調する必要があります。私に別のコメントを提供できる人はいますか?どうもありがとうございました。

2
なぜそれほど多くのウィンドウ処理関数があるのですか?
多くのウィンドウ関数がMathematicaドキュメントにリストされています。離散フーリエ変換を計算するとき、漏れを減らすためにいくつかを使用してみました。私が知ることができることから、どのウィンドウ関数が使用されているかはほとんど違いがありませんでした。そのうちの2つは、BartlettHannWindowとBlackmanHarrisWindowです。誰かがBarttletHannWindowが非常に良い選択である例と、BlackmanHarrisWindowが非常に良い選択である別の例を提供できますか?これは、なぜ多くの選択肢があるのか​​を理解するのに役立ちます。

1
円形画像のOCRに推奨される前処理方法
こんにちは、これは私のサンプル画像です。このような画像でリアルタイムに文字を検出します。 前処理なしで、元の画像でSURF、SIFT、MSER、およびテンプレートマッチングを試しました。文字を検出することはできますが、画像が変化しても、画像上の文字に多くの関心のあるポイントがないため、この機能検出方法は機能しません。精度を上げるためにどのような前処理を行うべきか、正確にはわかりません。 だから私の質問は、皆さんがより高い精度で文字検出を行うためにどのような方法を提案できるかです。 前もって感謝します。

1
カメラにアクセスせずにカメラのキャリブレーションをハックすることは可能ですか?
多くの場合、カメラにアクセスせずに処理するビデオのストリームがあります。カメラマトリックスにアクセスできることは、さまざまな処理技術にとって有益です。カメラにアクセスせずにカメラのキャリブレーションをハックすることは可能ですか? 私は、道路を記録している移動中の車に取り付けられた1台のカメラからのビデオストリームを持っています(したがって、地面に複数の平行線、レーンマーカーの角はありますが、円はありません)。これを真上から見下ろしたいのですが、カメラにアクセスできません。出来ますか?もしそうなら? 私は、OpenCVの学習:OpenCVライブラリのあるコンピュータビジョンブックから、次のマトリックスが必要であることを理解しています。 組み込み関数、および ねじれ .. cv2.undistort()画像にホモグラフィcv2.getPerspectiveTransform()を計算しcv2.warpPerspective()、最終的にトップビューを取得します。 質問 組み込み関数または歪み行列/パラメーターを計算/近似/推測するにはどうすればよいですか?すべてのパラメーターは重要ですか? 他のカメラ(OpenCVソースコードサンプルなど)からパラメーターをコピーしても問題ありませんか? 事前調査: OpenCV Pythonカメラキャリブレーションチュートリアル -カメラへのアクセスが必要 カメラのAutoCalibration-「平行線または形状が既知(例:円形)のオブジェクトの複数のセットが識別された場合、キャリブレーションが取得される可能性があります」 カメラのキャリブレーションに関連する回答を理解しようとしています[ 1 ] [ 2 ] [ 3 ]私の問題に対する回答を見つけようとしています。 何か案は?事前にあなたの助けを感謝します! 更新1:透視変換実験 入力画像の4点を使用getPerspectiveTransform(pts1,pts2)しdst = cv2.warpPerspective(img,M,(x,y), flags=flags)て照合し、一種のトップダウンビューを取得しようとしました。しかし、歪みを処理する方法がわかりません: ポイントの選択:最初に、入力を拡大し、レーンマーカー上の一致する外部ポイントを正確に選択してホモグラフィマトリックスを作成し、で透視変換画像をプレビューしましたwarpPerspective。車線が歪んでいるのを見ましたが、どれほどひどいのかわかりませんでした。アイデアを得るために、両端のデルタ(50px)フラットでさらにポイントを選択しました。これは私が得るものです: カメラにアクセスしなくても歪みを修正できますか?これを修正する他の方法はありますか? 使用する入力画像が少ない: 更新2:トップダウンビューでの非平行(散乱)オプティカルフロー これは、歪みやその他の原因によるものですか?:

3
信号処理エンジニア向けの機能分析
ほとんどのEEエンジニアが講じる最も高度な純粋数学コースはフーリエ解析であるようです。その後は基本的に「応用」コースになります。これにはおそらく正当な理由がありますが、それが何かはわかりません。機能分析は、信号処理で常に発生するようです。 意欲的なコミュニケーションエンジニアにとって、機能分析の調査は価値がありますか?
8 math 

5
FFT処理ゲイン
高速フーリエ変換を介してノイズの多い信号を時間領域から周波数領域に変換する場合、FFTの「処理ゲイン」があり、ビンの数が増えると増加します。つまり、ビンが多いほど、周波数ドメインのノイズフロアが低減されます。 1.実際、私はこの利益がどこから来ているのか、完全には理解していません。これは、より多くのビンを使用するために、より高いサンプリングレートで信号をサンプリングするだけでよいので、より高いFFT処理ゲインが得られることを意味しますか? 2.逆FFTについてはどうですか?「処理が失われました」ですか?周波数領域で開始すると、これは、私が持っている周波数サンプルが多いほど、時間領域信号に現れるノイズが多くなることを意味しますか?ただし、これは時間領域内挿の目的で(周波数領域データの)パディングを適用するときに信号の大きな歪みを引き起こすため、直感に反します。
8 fft 

2
ウェーブレットスカログラムを解釈する
ウェーブレットの私の知識はイプシロンよりも少ないです。私と一緒に耐えなさい。2つのよく分離された正弦波(15および48 Hz)とランダムノイズの信号がある場合、スペクトログラムで2つをはっきりと確認できます(写真の2つの縞模様)。 t=0:0.002:1; % fs = 500 Hz x=4*sin(2*pi*15*t)+2*cos(2*pi*48*t); xn = x + randn(size(x)); figure(1); plot(xn); figure(2); spectrogram(xn, 64, 60, [], 500); しかし、「wscalogram」を使用すると、コンポーネントを区別できるとは言えません。 coefs = cwt(xn,1:64,'db8','scalCNT'); wscalogram('image',coefs,'scales',1:64,'ydata',xn); スカログラムから2つの異なる正弦波があることを読み取る方法はありますか?その場合、ウェーブレット分解とフィルタリングを使用してそれらをどのように分離できますか?おそらくウェーブレット( 'db8')の選択は最適ではないと思いましたが、他のタイプを使用してスケールを大きく(または小さく)しても、大きな違いは見られません。明らかに、どこに、いつ、何にウェーブレットを適用するかについて何か不足しています。 ありがとう

3
画像特徴の検出とマッチングの目的
私は画像処理とコンピュータービジョンの新人なので、この質問はあなたには馬鹿げているかもしれません。 Harris、Hessian、SIFT、SURFなど、いくつかの特徴検出および記述アルゴリズムを学びました。画像を処理してそれらのキーポイントを見つけ、それぞれの記述子を計算します。記述子は、特徴照合に使用されます。 私はSIFTとSURFを試してみましたが、2つの画像(1つは回転して少しアフィンされている)の場合、それらは機能によく一致せず、ほぼ100の特徴点のうち10マッチは良いです。 だから私は思う これらの特徴検出アルゴリズムを実際に何に使用できますか?特徴の検出とマッチングのためのより堅牢なアルゴリズムはありますか?または、SIFTとSURFは既に良好ですが、さらに使用するために調整する必要がありますか? もう1つの問題は、これらのアルゴリズムは(マルチコアの実装を考慮せずに)リアルタイムアプリケーションには適していないと思いましたが、リアルタイムで機能し応答する商用製品(Kinectなど)があることです。これらの製品も、見たものから機能を検出して照合すると思いますが、SIFTなどのアルゴリズムを使用していますか?どのようにして機能をうまく検出できるでしょうか? 知識が限られているため、2つの画像で同じオブジェクトを見つけたり、ホモグラフィを推定したりするために機能マッチングを使用できることはわかっていますが、機能マッチングの他の目的はありますか?

1
ヘッセ特徴検出器はどのように機能しますか?
私は、ハリスコーナー検出器について知って、私はその基本的な考え方を理解する二次モーメント行列を、 、エッジおよびその他の不安定なポイントはを介して削除できます。M=[I2xIxIyIxIyI2y]M=[Ix2IxIyIxIyIy2]M = \left[ \begin{array}{cc} I_x^2 & I_xI_y \\ I_xI_y & I_y^2 \end{array} \right]MMM ただし、ヘッセ行列検出器については、ヘッセ行列を使用してキーポイントを検出し、エッジを削除します。 H=[IxxIxyIxyIyy]H=[IxxIxyIxyIyy]\mathcal{H} = \left[ \begin{array}{cc} I_{xx} & I_{xy} \\ I_{xy} & I_{yy} \end{array} \right]、そしてHH\mathcal{H}エッジを削除して安定した点を検出する方法がわかりませんか?その背後にある直感的な基本的な考え方は何ですか?

3
あるオーディオストリームを別のオーディオストリームから「差し引く」
私は長い間ソフトウェアエンジニアですが、信号/オーディオ処理の経験はほとんどありません。私は、オーディオコンポーネントの1つにあるユースケースを介して信号処理について学びたいと思っています。注:これは私にとって単なる学習課題です...最終結果が役立つことは優先事項ではありません。 (スピーカーを介して)オーディオを生成するコンポーネント(A)があります。別のコンポーネント(B)があり、そのオーディオを(単純なマイクを介して)記録します。 私がやりたいのは、Aを使用してBのオーディオを録音することです。次に、可能であれば、2つのストリームを比較します。目標は、ストリームAに存在していたオーディオを削除することです-録音中に存在していた周囲の条件を残します-完全に削除することは不可能だと理解しています。 フェーズとマグニチュードの問題があることを理解しています。また、AからBを「引く」という単純な問題ではないことも理解しています。つまり、私の仮定では、AからAを引くことができます。 問題への取り組み方を知りたい。繰り返しますが、これは私にとって学習経験です(締め切りはありません)。最初から始めようと思っています。 アドバイス/提案は大歓迎です。

1
スペクトル重心またはその他の手段による波形の着色
アップデート8 サービスにトラックをアップロードする必要があり、RekordBox 3の新しいリリースを見ることに不満があるオフラインのアプローチとより細かい解決策をもう一度検討することにしました:D まだ非常にアルファ状態にありますが、有望に聞こえます: ジョニック-グッドタイム 対数目盛もパレット調整もないことに注意してください。周波数からHSLへの生のマッピングのみです。 アイデア:波形レンダラーに、特定の位置の色を照会するカラープロバイダーが追加されました。上に表示されているものは、その位置の隣の1024サンプルのゼロ交差率を取得しています。 明らかに、堅牢なものになるまでにやるべきことがまだたくさんありますが、それは良い道のようです... RekordBox 3から: アップデート7 Update 3のように、私が採用する最後のフォーム (カラー間のスムーズな移行を実現するために少しPhotoshopされています) 結論は、私は数ヶ月前だったが、それが悪いと思ってその結果を考慮しなかったX) アップデート6 最近プロジェクトを発掘したので、ここで更新することを考えました:D 曲:シック-グッドタイムズ2001(ストーンブリッジクラブミックス) IMOの方がはるかに優れており、ビートは一定の色などを持ちますが、最適化されていません。 どうやって ? まだhttp://developer.echonest.com/docs/v4/_static/AnalyzeDocumentation.pdf(ページ6) 各セグメントについて: public static int GetSegmentColorFromTimbre(Segment[] segments, Segment segment) { var timbres = segment.Timbre; var avgLoudness = timbres[0]; var avgLoudnesses = segments.Select(s => s.Timbre[0]).ToArray(); double avgLoudnessNormalized = Normalize(avgLoudness, avgLoudnesses); …
8 fft  audio  color 

1
画像処理とフーリエ変換
フーリエ変換が画像処理/コンピュータービジョンでどのように、そしてなぜ使用されるかを理解しようとしています。以下は私がこれまでに集めたものです。それに対する私の理解は正しいでしょうか?そうでない場合は、誰かに簡単でわかりやすい英語で説明してもらえますか?または、誰か追加するものはありますか?最後に重要なことですが、誰かが「離散フーリエ変換」を説明できますか? フーリエ変換は、画像をその正弦成分と余弦成分に分解します。簡単に言えば、サインとコサインはそれぞれ最小値と最大値で始まる波です。現実の世界では、観測する波が最大点と最小点のどちらから始まったのかわからないため、実際にはその2つを区別することはできません。したがって、サインとコサインは単に正弦波と呼ばれます。 FTを画像に適用するとき、それを空間ドメインから「周波数ドメイン」に変換します。これは、本質的に、時間の経過に伴う色と明るさの変化(時間ではなく空間です。ピクセル数を超えています)。 編集:なぜフーリエ変換を使用するのですか?そして、他の方法に比べてその利点は何ですか?たとえば、文学における1つのアプリケーションは、形状認識またはノイズ除去です。基本的に、FTを使用して形状認識を行うにはどうすればよいでしょうか。

2
ギブス現象はどれほどの問題を抱えていますか?これで解決できますか?
この質問のように正弦曲線を反復またはネストすることにより 次のような曲線が得られます。 方形波になる傾向があります。 これらの8つのケースは次のようになります。 これは、真円度のために意図的に選択されたものです。 これらのプロットのMathematicaコードはここにあります:http : //pastebin.com/6UK1u1uX 信号処理についてはあまり知りませんが、これらの曲線を見た後、方形波のギブス現象を思い出しました。 方形波の場合、ギブス現象の問題を解決できますか? フーリエ変換では、この種の関数は私には理解できますが、役に立ちません。 13.1.2013を編集: のこぎり波:http : //pastebin.com/JNg7bzzB 三角波(積分ではなく部分和):http : //pastebin.com/wRCBV7NF ディラックコームhttp://pastebin.com/QMSMQf26

2
他の100の声から人の声をフィルタリングする方法はありますか?
つまり、人間の声は単一の正弦波ではなく、周波数の異なる無制限の正弦波の集まりではないことを知りました。 ウィキペディアによると、 声は、人間が声のひだを使って話したり、歌ったり、笑ったり、泣いたり、叫んだりして作った音で構成されています。その周波数の範囲は、約60〜7000 Hzです。 したがって、人間の声が複合信号である場合、60Hzから7KHzまでのさまざまな周波数範囲が含まれます。 同じ歌を一緒に歌っている人々のグループがいる場合、各人が独自の声の周波数の範囲を持っていると仮定します。 例えば、 人Aが次の周波数を持っている場合:100Hz、250HZ 6KHz、10Hz、87Hz、52Hz、2KHz ....... また、人物Bには、217Hz1、11Hz、12Hz、2323Hz、839Hz、4KHz、100Hz、10Hz ...があります。 上記の例のように、人Aと人Bの両方で類似している非常に多くの周波数が必要です。周波数100Hzと10Hzは2人の人の間で共通です。 私はテレビ番組名「フリンジ」を見ていました。そこでは、他の人の声もそこに存在している間に、オーディオファイルから特定の男の声を除外しました。 それで、すべての人に共通する周波数が非常に多い場合、人の周波数の振幅で何かをしなければならない場合、彼らは正確にどのようにして数百人の声から誰かの声をフィルタリングしますか?

1
OpenCV CannyとMatLab Cannyの違いは何ですか?
MatLab Canny(MLC)がOpenCV Canny(OCC)と比べて非常に異なる理由を誰かが知っていますか?ML-CはOCCよりも正確で接続されたエッジを提供しますが、それはどのようにして可能ですか?私が尋ねる理由は、MLコードのプロトタイプをC ++に実装する必要があり、OpenCVを使用したかったからです。私が試した限りでは、MLのコードをエクスポートすることは実際には不可能です。 敬具、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.