タグ付けされた質問 「matlab」

MATLAB(MATrix LABoratory)は数値計算環境であり、第4世代のプログラミング言語です。このタグは注意して使用してください。抜粋を参照してください。

2
感情的なコンテンツを削除するために、音声をパラメトリックに劣化させます
RまたはMatlabで提案を受け入れますが、以下に示すコードはRのみです。 以下に添付されている音声ファイルは、2人の間の短い会話です。私の目標は、感情的な内容が認識できなくなるように、彼らのスピーチを歪めることです。難点は、この歪みのために1〜5のパラメトリックスペースが必要なことです。1〜5は「非常に認識可能な感情」、5は「認識できない感情」です。Rでそれを達成するために使用できると思った3つの方法があります。 ここから「ハッピー」オーディオウェーブをダウンロードします。 ここから「怒っている」オーディオウェーブをダウンロードします。 最初のアプローチは、ノイズを導入して全体的な明瞭度を低下させることでした。このソリューションを以下に示します(彼の提案に対して@ carl-witthoftに感謝します)。これにより、音声の明瞭度と感情的な内容の両方が低下しますが、非常に「汚い」アプローチです-パラメトリック空間を取得するのが正しいことは困難です。 require(seewave) require(tuneR) require(signal) h <- readWave("happy.wav") h <- cutw(h.norm,f=44100,from=0,to=2)#cut down to 2 sec n <- noisew(d=2,f=44100)#create 2-second white noise h.n <- h + n #combine audio wave with noise oscillo(h.n,f=44100)#visualize wave with noise(black) par(new=T) oscillo(h,f=44100,colwave=2)#visualize original wave(red) 2番目のアプローチは、特定の周波数帯域でのみ音声を歪めるために、何らかの方法でノイズを調整することです。元のオーディオ波から振幅エンベロープを抽出し、このエンベロープからノイズを生成してから、オーディオウェーブにノイズを再適用することでそれができると考えました。以下のコードはその方法を示しています。ノイズ自体とは異なる何かをし、音が割れますが、同じポイントに戻ります-ここでノイズの振幅を変更することしかできません。 n.env <- setenv(n, h,f=44100)#set envelope of …
12 matlab  audio  noise 

1
周波数領域で畳み込みカーネルを見つける方法は?
空間データの2つのベクトル(それぞれ約2000要素の長さ)があります。1つは他の畳み込みバージョンです。このような畳み込みを生成するカーネルを決定しようとしています。出力ベクトルと入力ベクトルのフーリエ変換の比の逆フーリエ変換を見つけることでこれができることを知っています。実際、これを行うと、私が期待していた形になります。ただし、実際には畳み込みがポイントの約5分の1(約300〜400)しか使用していない場合、私のカーネルベクトルは2つの入力ベクトルと同じ次元を持ちます。正しい形状を取得しているが、ポイントの数が間違っているという事実から、ifftおよびfft関数をまったく正しく使用していないと思うようになります。私が本当に正しいことをしていれば、これは自然に起こるはずです。現時点では、私は単にやっています。 FTInput = fft(in); FtOutput = fft(out); kernel = ifft(FtOutput./FTInput). これは正しいですか、出力ベクトルを正しく解釈するのは私次第ですか、それともタスクを単純化しすぎましたか?私はそれが後者だと確信しています、私はただどこにあるのか分かりません。

4
これは、固定パターンノイズ補正の正しい方法ですか?
私は現在、画像センサーのプログラミングを含むプロジェクトに関与しています。私たちのセンサーは私たちにノイズを与えているので、それを修正したいと思います。プロジェクトの他の誰かが、「黒」の画像を撮る、つまりレンズキャップをかぶって、すべて黒の画像を撮るというアイデアを思いつきました。(明らかにノイズによるものではありません)後続のキャプチャのこの時点で、彼は黒の画像からピクセル値を取得し、定期的にキャプチャされた画像からそれらを減算します。 画像は良く見え、ほとんどのノイズが除去されていますが、次の理由により、これがノイズを除去するための最良のアプローチであるとは確信していません。 固定画像の範囲は[-172 194](366の値)で、標準の範囲は[0 255]です。再描画すると、範囲は[0 255]に戻り、見た目は良くなりますが、これは間違っていると思います。 新しい画像は暗い場所で撮影されていることに言及してください。 この方法はノイズを除去するのに正しいですか?なぜですか?

12
ガウスカーネルによってぼやけた1D信号のデコンボリューション
ガウス分布でランダム信号をたたみ込み、ノイズ(この場合はポアソンノイズ)を追加して、ノイズの多い信号を生成しました。次に、このノイズの多い信号をデコンボリューションして、同じガウスを使用して元の信号を抽出します。 問題は、1Dでデコンボリューションを行うコードが必要なことです。(私はすでに2Dでいくつか見つけましたが、私の主な目的は1Dです)。 そうすることができるいくつかのパッケージまたはプログラムを私に提案していただけませんか?(できればMATLABで) 助けてくれてありがとう。


2
入力画像にガボールフィルターを適用する
特定のスケールでGaborフィルターを適用しようとしました(ラムダとシグマの私の値によると、それは(7x7)であり、4つの方向(0、、および)を入力グレースケールイメージに変換します。π4π4\frac{\pi}{4}π2π2\frac{\pi}{2}3個のπ43π4\frac{3\pi}{4} 私のコードでは、3つのステップが実行されます。 ガボールフィルターの作成 RGB画像を読み取り、それをグレースケールに変換し、最終的に2倍に変換します。 作成したガボールを入力画像に適用します(ここでは、私のコードが真であるかどうかはわかりません。そのため、あなたの意見が必要です) 1)--------------ガボールフィルターを作成します(サイズ= 7x7および4方向) %define the five parameters theta=....; %either 0 or pi/4 or pi/2 or 3pi/4 lambda=3.5; gamma=0.3; sigma=2.8; psi=0; sigma_x = sigma; sigma_y = sigma/gamma; nstds = 5; xmax = max(abs(nstds*sigma_x*cos(theta)),abs(nstds*sigma_y*sin(theta))); xmax = ceil(max(1,xmax)); ymax = max(abs(nstds*sigma_x*sin(theta)),abs(nstds*sigma_y*cos(theta))); ymax = ceil(max(1,ymax)); xmin = -xmax; ymin = …

3
MATLAB:
MATLABでは、fftおよび/ ifft関数の出力は、分析の対象となる前に追加の処理を必要とすることがよくあります。 私は何が正しいのかについて多くの異なる意見を聞いています: スケーリング Mathworksによるとfft、ifft関数は次の方程式に基づいています: X[k]x[n]=11⋅∑n=1Nx[n]⋅e−j⋅2π⋅(k−1)⋅(n−1)N,where1≤k≤N=1N⋅∑k=1NX[k]⋅e+j⋅2π⋅(k−1)⋅(n−1)N,where1≤n≤NX[k]=11⋅∑n=1Nx[n]⋅e−j⋅2π⋅(k−1)⋅(n−1)N,where1≤k≤Nx[n]=1N⋅∑k=1NX[k]⋅e+j⋅2π⋅(k−1)⋅(n−1)N,where1≤n≤N\begin{align} X[k] &= \frac{1}{1} \cdot \sum_{n=1}^{N} x[n] \cdot e^{\frac{-j \cdot 2 \pi \cdot (k-1) \cdot (n-1)}{N}}, \quad\textrm{where}\quad 1\leq k\leq N\\ x[n] &= \frac{1}{N} \cdot \sum_{k=1}^{N} X[k] \cdot e^{\frac{+j \cdot 2 \pi \cdot (k-1) \cdot (n-1)}{N}},\quad \textrm{where}\quad 1 \leq n\leq N \end{align} 信号長によるスケーリング 私の同僚は通常、データを1だけスケーリングします1N1N\small \frac{1}{N}すぐに処理した後fft。 (fftスケーリング前の生データは考慮していません。)%% …
11 matlab  fft  ifft 

3
曲線間の一致を測定する方法は?
測定したRSSI値と比較したい、予想されるRSSI値の経時的な値(以下にプロット)があります。私が探していたのは、それを定量化してパラメーターを変更し、さまざまなアプローチを比較/対比できるようにする方法でした。 信号を比較する方法がわかりませんが、信号の大規模(全体的な形状)と小規模(個別の変動)を考慮に入れるため、これは私の心の中で難しい問題です。 たとえば、以下は1セットの信号のプロットです。 画像では、赤い測定信号がおおまかにモデルに従っていることを確認できますが、モデルの正弦波品質のいくつか(一部の場所)をシミュレートするOKジョブも実行しています。何かご意見は? <>ピシェネットのコメント(妥当と思われる)に応じて、2つの値のdiffをとり、abs(fft(diff))をプロットして、次のようにしました。 私はそれをどうするかわかりません。実際の周波数はないため、軸をスケーリングする方法がわかりません。その場合、どのメトリックを使用しますか?

1
周波数を
MATLABでは、フィルターを設計するためにカットオフ周波数を渡す必要があります。ただし、このカットオフ周波数はサンプルあたりのラジアンです。アナログカットオフ周波数を、MATLABに必要なラジアン/サンプルに変換するにはどうすればよいですか? HzHz\textrm{Hz}
11 matlab  sampling 

2
ガラスなどの半透明材料のセグメンテーション
ガラス状のオブジェクトのセグメンテーションに関する問題に完全に行き詰まっています。オブジェクトをできるだけ正確に取得する必要があります。私のアプローチは異なっていました。最初は、背景を削除して、一部の鋭い輪郭だけが残るようにしました。しかし、それは鋭いエッジ/グラデーションを持つオブジェクトに対してのみ機能します。それ以外の場合は、オブジェクト自体も削除されます。2つの異なる画像を投稿しました。 グレースケールの膨張やそれに対する分割などの形態学的操作によって背景を削除しようとしました。しかし、それはあまり役に立ちませんでした。その後、変更された背景をガラスの灰色と黒色の値から分離するために、k = 3のk-meansを試しました。それはいくつかのケースでは成功しなかったが、全体的/平均的には成功しなかった。また、全体的にぼかしたフィルターを使用してキャニーエッジ検出を実行しようとしましたが、これにより、輪郭が開いた形やノイズが多くなるなど、結果が低下します。 自動しきい値の結果を持つキャニー: testimg = imread('http://i.imgur.com/huQVt.png'); imshow(testimg) imedges = edge(testimg,'canny'); imshow(imedges); 同じことが2番目の画像にも当てはまります。 ご覧のとおり、内側と外側に多くのノイズがあり、ガラス境界からのエッジが2重になっています。縁にも隙間があります。 したがって、これら2つの画像だけでなく、半透明のマテリアルのこの問題に対処するための一般的なアプローチを得るために、あなたのアドバイスが必要です。 1)オブジェクトを損傷することなく背景を削除するための他のアイデア? 2)オブジェクトを背景から分離するための他のセグメンテーション方法は? 可能であれば、Matlab、IPT、または統計ツールボックスのヒントを使用します。他のヒントも大歓迎です! よろしくお願いします。心から

1
Matlabを使用した肝臓セグメンテーションの適応しきい値処理
適応しきい値法を使用して腹部CT画像から肝臓をセグメント化する必要があります。しかし、前景全体を背景だけから分離しています。前景の肝臓部分だけを分離する必要があります。http://www.ijcaonline.org/casct/number1/SPE34T.pdf にあるpdfファイルを確認してください。図6に示すような出力が必要です。 ここにコーディングを添付します。親切に私を助けてください。 %testadaptivethresh.m clear;close all; im1=imread('nfliver2.jpg'); bwim1=adaptivethreshold(im1,11,0.03,0); figure,imshow(im1); figure,imshow(bwim1); imwrite(bwim1,'at2.jpg'); function bw=adaptivethreshold(IM,ws,C,tm) %ADAPTIVETHRESHOLD An adaptive thresholding algorithm that seperates the %foreground from the background with nonuniform illumination. % bw=adaptivethreshold(IM,ws,C) outputs a binary image bw with the local % threshold mean-C or median-C to the image IM. % ws is …

2
画像の再構成:位相とマグニチュード
図1.(c)は、MAGNITUDEスペクトルのみから再構成されたテスト画像を示しています。低頻度ピクセルの強度値は、高頻度ピクセルよりも比較的多いと言えます。 図1.(d)は、PHASEスペクトルのみから再構成されたテスト画像を示しています。高頻度(エッジ、ライン)ピクセルの強度値は、低頻度ピクセルよりも比較的多いと言えます。 強度の変化(または交換)のこの魔法の矛盾が、MAGNITUDEスペクトルのみから再構築されたテストイメージとPHASEスペクトルのみから再構築されたテストイメージの間に存在するのはなぜですか? clc; clear all; close all; i1=imread('C:\Users\Admin\Desktop\rough\Capture1.png'); i1=rgb2gray(i1); f1=fftn(i1); mag1=abs(f1); s=log(1+fftshift(f1)); phase1=angle(f1); r1=ifftshift(ifftn(mag1)); r2=ifftn(exp(1i*phase1)); figure,imshow(i1); figure,imshow(s,[]); figure,imshow(uint8(r1)); figure,imshow(r2,[]); r2=histeq(r2); r3=histeq(uint8(r2)); figure,imshow(r2); figure,imshow(r3);


1
超音波スピーカーの校正と校正済み信号の発信
予測可能な信号を発することを目的として超音波スピーカーを調整しようとしていますが、悲しいかな、おそらくDSP-fuが不足しているためです。 少し背景 私が持っている校正済みのレコーディングにできるだけ近いサウンドを再生できるようにしたいです。理論を理解している限り、スピーカーの伝達関数を見つけて、放出したい信号をデコンボリューションする必要があります。次のようなもの(周波数領域): X -> H -> XH どこにX放射された信号はH、スピーカーの伝達関数であり、XHあるX回H。除算(./)が与えられますH。 ここで、キャリブレーションされた信号を送信するには、次のように分割する必要がありますH。 X/H -> H -> X 何が行われたか 三脚に1 m間隔でスピーカーと校正済みマイクを配置しました。 記録された30+リニアスイープ150KHz-20KHz、長さ20ms、@ 500 KS / sで記録。 以下のMatlab / Octaveスクリプトを使用して信号を整列および平均化すると、スクリプトの下で結果の信号を確認できます。 files = dir('Mandag*'); rng = [1.5e6, 1.52e6]; [X, fs] = wavread(files(1).name, rng); X = X(:,1); for i=2:length(files) [Y, fs] = wavread(files(i).name, rng); sig = …

1
異なる位置で測定された信号のピークを自動的に分類するにはどうすればよいですか?
空間のさまざまな位置で、時間の経過とともに音を測定するマイクを持っています。録音されるすべての音は、空間内の同じ位置から発生しますが、ソースポイントから各マイクへの経路が異なるためです。信号は(時間)シフトし、歪む。先験的な知識を使用して、時間シフトを可能な限り補正しましたが、データにはまだ時間シフトが存在しています。測定位置が近いほど、信号は類似しています。 自動的にピークを分類することに興味があります。これは、以下のプロットの2つのマイク信号を「見て」、位置と波形から2つの主要な音があることを「認識」して、それらの時間位置を報告するアルゴリズムを探していることを意味します。 sound 1: sample 17 upper plot, sample 19 lower plot, sound 2: sample 40 upper plot, sample 38 lower plot これを行うために、各ピークの周りでチェビシェフ展開を行い、チェビシェフ係数のベクトルをクラスターアルゴリズムへの入力として使用することを計画していました(k-means?)。 ここに例として、2つのピーク(青い円)の周りの9つのサンプル(赤い)の5項チェビシェフシリーズで近似された2つの近くの位置(青い)で測定された時間信号の一部を示します。 近似はかなり良いです:-)。 しかしながら; 上のプロットのチェビシェフ係数は次のとおりです。 Clu = -1.1834 85.4318 -39.1155 -33.6420 31.0028 Cru =-43.0547 -22.7024 -143.3113 11.1709 0.5416 また、下のプロットのチェビシェフ係数は次のとおりです。 Cll = 13.0926 16.6208 -75.6980 -28.9003 0.0337 Crl =-12.7664 …

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