問題タブ [resampling]
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.
python - 効率的なnumpyゼロオーダーホールド
ゼロ次ホールドを使用してnumpy配列をリサンプリングする効率的な方法はありますか? 理想的には、 numpy.interpのような署名を持つものですか?
私はscipy.interpolate.interp1dを認識していますが、このようなケースに対処するためにベクトル化された代替手段が利用できると確信しています。
python - Python Image Library とハロー効果を使用した透明な png のサイズ変更
SO には同様の質問がいくつかありますが、どれも実際には役に立ちませんでした。基本的に、ここに見られるように、単純なpng画像のサイズを変更しようとしています:
http://media.spiralknights.com/wiki-images/3/3e/Equipment-Proto_Sword_icon.png (mmo Spiral Knights より、著作権は Three Rings Entertainment)
私は元々、これらの画像を php で使用するユーティリティを実装していましたが、そこにあるサイズ変更ユーティリティは完全に機能しました。PHP のドキュメントの imagecopyresampled ページに記載されている方法を使用しました。
正直なところ、Photoshop でより適切にサイズ変更することさえできませんが、結果は Python ではほとんど壊滅的です。私は一貫してハロー効果を得ており、これは透明ピクセルの実際の RGBA 値の少なくとも一部であると考えています。ここで、この写真はそれをよりよく物語っています:
(最後から 2 番目のサイズ変更は、私が別のフォーラムで見た、最終的なサイズの最初の 2 倍にサイズ変更するという提案にすぎませんでした。少なくとも少しは役に立ちましたが、十分ではありませんでした)
サイズ変更中の画像は、すでに RGBA モードになっています。
ご覧のとおり、PHP と Photoshop のサイズ変更はハローフリーです。正直なところ、PHP のサイズ変更以外はすべて機能しすぎます。PHP 画像の最小限のパレットが気に入っています (より大きなバージョンを見ると、PHP のサイズ変更が色の間で使用する量が少ないことがわかります)。サイズを変更したか、Python の内部部分のサイズを変更しましたが、ハローは受け入れられません。
PHPとPhotoshopは、補間時にアルファチャンネルのピクセルの色を使用しないことを知っているようですが、Pythonはその明るい境界線を使用しており、それ以外の場合は透明です。 、そのサイズ変更で。
残念ながら、さまざまなプロファイルでサイズを変更する必要があるさまざまなアイコンがたくさんあるため、すべてがこの円形のアイコンほど単純ではありませんが、これは実験中に使用した最初のアイコンにすぎません。
それ自体はコードの問題ではありませんが、何か調べる必要がある場合は、これが要点です。
最終的な質問は次のとおりです:リサンプリング中にアルファが0のピクセルの色を使用しないようにPILに指示する方法はありますか?
discrete-mathematics - 2つのサブセットのデータをequllyにリサンプリングする
少し手伝ってくれませんか
2つのサブセットのバイナリイメージ曲線AとBがあり、データAまたはBを等しくリサンプリングする方法。
例えば
曲線A、{(1,1)、(1,2)、(1,3)、(1,4)、(1,5)}
曲線B、{(5,5)、(5,4)、(5,3)}
同じようにAの要素Bの数を5にリサンプリングしたい
B(リサンプリング)==> {(5,5)、(5,4.5)、(5,4)、(5,3.5)、(5,3)}
私はこのメソッドをC++で実装するために行いました。しかし、それが線形補間法
と呼ばれるかどうかはわかりませんが、数学の公式または離散幾何学の観点から、この方法をAとBに等しく書く方法がわかりませんか?
どうもありがとうございます
キティ
python - pandas 0.8 でのリサンプリングのバグ?
私は現在、pandas 0.8.0b1 のリサンプリング機能を使用するために戦っています。
たとえば、(「平均」を使用して) 10 分の値を月の値に集計しようとすると、関数は次の月の平均で 1 か月のデータの最終日を使用するようです...
以下は、3 か月の 10 分のデータの単純な時系列の例です。
- 2012 年 1 月 : すべての値 = 1
- 2012 年 2 月 : すべての値 = 2
- 2012 年 3 月 : すべての値 = 3
df.resample('M',how='mean') を使用して取得した月次平均は次のとおりです。
しかし、私は次のようなものを取得したいと思います:
コードは次のとおりです。
今なら、最終日を次のように削除します。
私は(ほぼ)私が欲しいものを手に入れます:
私たちを手伝ってくれますか ????バグですか???
java - ベストプラクティス:PCMをどこでリサンプリングし、どのツールを使用するか?
私は私に以下を提供するカーネルモジュール(Android)を開発しました:
そして、それをJavaでAppleのAirport Express(AEX)にストリーミングしたいと思います。
AEXには44.1kHzPCMが必要なので、PCMストリームをリサンプリングする必要があります。
私には次の可能性がありますが、どれが最高ですか?
1. Cプログラム「raop_play」(raop-playの一部)を使用します
2. Javaでのリサンプリングとストリーム(libresample JNI-bridgeを使用)
3.すでにカーネルモジュールでリサンプリングします
c++ - IMediaObject::ProcessInput からの HResult 0x80040204
DirectXMediaResampler を使用して PCM サウンドを IEEE:Float サウンドにリサンプリングすると、この Hresult が得られます。同じサンプリング レートでサンプルあたりのビット数を変更しても問題ありません。また、IEEE:Float から PCM へのリサンプリング。この HResult は、DMO オブジェクトのコンテキストでは文書化されていません。また、リサンプリングのたびに発生するのではなく、定期的に発生します。
誰かがそれが何を意味するのか知っているか、推測できますか.
c - PCM ダウンサンプリング: 入力フレーム/出力フレーム vs. バッファサイズ
私は読むプログラムを持っています
カーネルモジュールからの「読み取り」ごとに 16384 バイトの大きなバッファーに入れます (= ALSA のリングバッファーから読み取ります)。
各「読み取り」の後、48 kHz を 44.1 kHz にダウンサンプリングする必要があり、出力は 4096 フレームより小さい/等しい必要があります (Apple の Airport Express にストリーミング)。
すでに機能していますが、出力が「速すぎる」ように聞こえ、「ちらつき」があり(後述の「読み取り」でフレームが失われたためだと思います)、時々停止します(「速すぎる」と「データの待機」が発生すると思います) )。
リサンプリングには、libsamplerate (別名 Secret Rabbit Code)のsrc_processを使用します。
次のパラメータを使用:
私のカーネルモジュールは、ALSA のリングバッファ内部でいくつかのフレームを逃したときに、これが発生したことを教えてくれます。
約 100 フレーム/「読み取り」が欠落しています。
誰かが問題を理解し、「4096 フレーム バッファが小さすぎます」などと言うことができるかもしれません。
その間、コードを再確認します。
javascript - 配列をリサンプリングするためのJavascriptライブラリ?
HTML キャンバスでいくつかのデータを視覚化しようとしていますが、これに似た問題に直面しています。つまり、データのサイズがキャンバスのサイズと正確に一致しません。
ある例では、幅 100px のキャンバスに 1024 ポイントの信号をプロットしたいと考えています。(例: オーディオ波形。)
別の例では、高さ 100 ピクセル、幅 500 ピクセルのキャンバスに 1024 x 5000 のポイント マトリックスを表示したいと考えています。(例: オーディオ スペクトログラム。)
どちらの場合も、キャンバスに収まるようにデータを再サンプリングする必要があります。これを行うことができるJavascriptのライブラリ/ツールキット/関数を知っている人はいますか?
** 編集 **
ここで使用できる多くのテクニックがあることを認識しています。1 つの可能性は、単にデータ ポイントを破棄または複製することです。これはピンチの場合に役立ちますが、破棄/複製により、「ギザギザ」または「ブロック状」に見える傾向がある結果が生成されることが知られています (こことここを参照)。Lanczos、双一次または双三次リサンプリングなどのより滑らかな画像を出力する、もう少し洗練されたアルゴリズムを使用することをお勧めします。これらのどれもが私のニーズを満たすでしょう。
私の質問は、どのアルゴリズムを使用するかではなく、それらのいずれかがオープンソースの JavaScript ライブラリに実装されているかどうかです。驚いたことに、私は JS で多くを見つけることができませんでした。独自のリサンプリング関数をコーディングすることは明らかにオプションですが、最初に SO コミュニティに確認して、車輪を再発明していないことを確認したかったのです。
(この回答は、データ配列ではなくキャンバスオブジェクトで直接動作することを除いて、私が望むものに非常に近いコードリストを提供し、入力と出力のアスペクト比を強制的に同じにします。他に何もない場合利用可能で、間違いなくこれで作業できますが、Matlab のresampleのラインに沿って、もう少し一般的で柔軟なソリューションを望んでいました。)
audio - 生の PCM データを正しくデコード/エンコードする
C++ で WAVE デコーダー/エンコーダーを作成しています。さまざまなサンプル サイズ (8、16、32) の間で正しく変換できましたが、チャネルと周波数については助けが必要です。
チャネル:
ステレオからモノラルに変換したい場合:
- 1 つのチャネルからデータを取得するだけですか (1 と 2 のどちらですか?)。
- または、モノチャネルのチャネル 1 と 2 から平均を取りますか。
モノラルからステレオに変換したい場合: (これはあまり科学的ではないことはわかっています)
- シングル チャンネルのサンプルを両方のステレオ チャンネルに単純に追加できますか?
- これを行うためのより科学的な方法はありますか (例: 補間)?
サンプルレート:
サンプル レートを変更する (リサンプル) 方法は次のとおりです。例: 44100 Hz から 22050 Hz へ:
- 新しい (より低い周波数の) 値の 2 つの連続したサンプルの平均を取るだけですか?
- これのためのより科学的なアルゴリズムはありますか?
c++ - opencv、ダウンサンプリングのために要素にアクセスしていますが、白いウィンドウが表示されます
私はopencvのc++apiを学習しており、簡単なアプローチとして、画像をダウンサンプリングすることから始めました(ガウスリサンプリングを使用したpyrDownがあることは知っていますが、Mat
クラスの要素にアクセスする方法を学習するためのものです)
これは私のコードです:
今、私はばかげた方法でダウンサンプリングを行っています。要素を削除しているだけです。そして、私はc++apiを。で使用しようとしていますMat_
。
手動ウィンドウで白いウィンドウが表示されますが、その理由がわかりません。マニュアルをcoutしようとすると、さまざまな値が表示されます。このコードの何が問題になっていますか?
編集1
私は解決策を見つけました:
の終わりにdownsample()
今私の質問は:なぜそれですか?Mat(s, src.type());
私はそれが変更される理由を宣言しますか?
編集2
この行で@go4sri回答を使用する場合
私はこの出力を取得します:
私は本当に理由がわかりません。