問題タブ [downsampling]

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 に答える
646 参照

android - Android の場合: ファイルから画像を読み取り、大きな画像の場合は解像度を下げてサイズを縮小し、Blob に保存します

私の Android アプリは、SD カードから画像ファイルを読み取り、その画像を sqlite データベースの blob に保存します。

現在、私は FileInputStream をバイト配列に変換し、これをブロブに保存しています。BLOB のサイズは 1MB を超えることはできないため、この場合はエラー メッセージを送信して操作をキャンセルします。

解像度(サイズではなく)を下げることで、1MBの制限を取り除き、より大きな画像も保存したいと思います。

BitmapFactory オプションの inSampleSize を使用して画像を圧縮したり、bitmap.compress などを使用してビットマップを byte[] に変換したりできます。ただし、BitmapFactory で作成した非圧縮のビットマップでも、元のバイト [] よりもはるかに大きなサイズになるため、品質が低下する恐れがあります。

私の問題を解決する方法はありますか? よろしくお願いします、ゲルハルト。

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

python - 不規則なタイムスタンプ リストをリサンプリング/ダウンサンプリングする方法は?

簡単な質問ですが、簡単な答えを見つけることができませんでした。

イベントが発生する時間を秒単位でカウントするデータのリストがあります。

1 時間 (3600 秒) ごとに発生するイベントの数をカウントし、これらのカウントの新しいリストを作成したいと考えています。

これがダウンサンプリングと呼ばれることは理解していますが、見つけることができるすべての情報は従来の時系列に関連しています。

上記の例では、新しいリストは次のようになります。

どんな助けでも大歓迎です。

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

opengl - 画面上のテクスチャ座標を取得 OpenGL

リアルタイムで変化するトーン マッピング オペレータを作成しようとしています。

LDR イメージ (オペレータを HDR イメージに適用した後) を球状テクスチャ、常に Y 軸を中心に回転する球体に配置し、カメラは球体の内側にあります。以下に例を示します。

画像の対数平均輝度を計算するために手動でダウンサンプリングを行っていますが、現在は正常に機能しています。

ここで、オペレーターにリアルタイムで変更してもらいたいので、各フレームで表示されている画像の部分についてのみログ平均輝度を計算し、オペレーターの影響をリアルタイムに再計算して変更したいと思います。

そのためには、各フレームでテクスチャのどの座標が画面上にあるかを知り、それらを選択して、ダウンサンプリングのために他の座標を破棄する必要があります。

何か助けはありますか?

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

matlab - 平均ブロックごとに取得することにより、matlab で 2d MATRIX をダウンサンプリングする

次元が 4x4 の行列 A があるとします。

ここで、この行列を係数 2 でダウンサンプリングして、次元 2x2 の新しい行列 B を取得します。

次の方法でダウンサンプリングしたい:

A とする

Bになりたい

B(1,1) を取得するには = 平均 (1, 5, 2 および 6) を取ります

B(1,2) を取得するには = 平均を取る (9, 13, 10 および 14)

B(2,1) = を取得するには、平均 (3、7、4、8) などを取ります。

したがって、B のすべての要素について、A から対応する 2x2 ブロックを取得し、その平均を取得します。

私の場合、行列 A は大きな次元です。また、ダウンサンプリング係数は任意に設定できます。

たとえば、A =

サイズ 3/2 のダウンサンプリング用。

行列 B のサイズは 4x4 になります。

B ユニットごとに、重複しない 1.5x1.5 ブロックの A を取得する必要があります。

例えば、

B(1,1) = 平均(1, 0.5x7, 0.5x2, 0.5x8)

B(2,1) = 平均(0.5x2, 0.5x8, 3, 9)

B(3,1) = 平均(4, 0.5x10, 0.5x5, 0.5x11)

B(4,1) = 平均(0.5x5, 0.5x11, 6, 12)

等々。

forループなしでこれを行うより速い方法はありますか?

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

textures - テクスチャをダウンサンプリングする方法

(私は Apple Metal でこれを行っていますが、質問は OpenGL と DirectX にも当てはまると思います。Metal または OpenGL のコード例は大歓迎です。)

smallTexサイズが別の texture の倍数である1 つのテクスチャがありbigTexます。

たとえば、 にsmallTexは次元が32x32あり、 には がありbigTexます128x128

のすべてのピクセルにの対応するピクセルの平均値が含まれるように、 の内容を にダウンサンプリングする必要がありbigTexます。smallTexsmallTexbigTex

bigTex最初に、からサンプリングしてレンダリングするフラグメント シェーダーを作成できると考えましたsmallTex。ただし、この方法では多くの情報が失われます。これは、サンプリングが最大 4 つのピクセルから読み取り、それらの間で補間を行うためです。

私が必要としているのは、ソース内のすべてのピクセルが結果に同じ影響を与える真のダウンサンプリングです。

これはミップマップ (基本的には元のテクスチャのダウンサンプリングされたコピー) を使用して実行できることを読みました。しかし、次にbigTex、でミップマッピングを有効にする必要があります。これは、で多くのレンダリング (計算) ステップを実行しているため、パフォーマンスに悪影響を及ぼしますbigTex。これにより、GPU がミップマップを更新するために多くの作業が必要になります。

必要なのは、テクスチャをダウンサンプリングする直接 GPU コマンドです。

それは可能ですか?ヒントはありますか?

0 投票する
6 に答える
61499 参照

python - wav オーディオ ファイルのダウンサンプリング

外部の Python ライブラリを使用せずに wav ファイルを 44100Hz から 16000Hz にダウンサンプリングする必要があるため、できればwaveand/or audioop. 関数を使用してwavファイルのフレームレートを16000に変更しようとしsetframerateましたが、録音全体が遅くなります。オーディオ ファイルを 16kHz にダウンサンプリングして、同じ長さのオーディオを維持するにはどうすればよいですか?

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

matlab - Matlabでinterp1の正しいサンプリングレートを見つける方法

imfreehand によって取得された軸に多数のポイントをプロットするために、interp1 (またはデシメートまたはリサンプル) の正しいサンプリング レートを見つけようとしています。

最初に何かをプロットします(正弦固有のものではないもの)

ここに画像の説明を入力

次に、次のように軸上に imfreehand で何かを描きます。

ここに画像の説明を入力

imfreehand オブジェクトからデータ部分(サイズ 1x413)を抽出 し、元の線の長さでそれらをプロットしようとしましたが、スケーリングが間違っています ...

ここに画像の説明を入力

ヒントはありますか??

また、提案されたダウンサンプルと同じ結果..

ここに画像の説明を入力

ヒントはありますか?? x2

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

javascript - PCM オーディオを 44100 から 8000 にダウンサンプリング

私はしばらくの間、音声認識のデモに取り組んできましたが、API は8000または16000のサンプル レートで .wav ファイルを渡す必要があるため、ダウンサンプリングする必要があります。次のように2つのアルゴリズムを試しました。私が望むように問題を解決するものはありませんが、結果にはいくつかの違いがあり、それがより明確になることを願っています.

これは私の最初の試みであり、sampleRate % outputSampleRate = 0の場合は正常に動作しますが、outputSampleRate = 8000 または 1600の場合、結果のオーディオ ファイルは無音になります (出力配列のすべての要素の値が 0 であることを意味します)。

これが巨大企業からの 2 回目の試みで、うまくいきませんでした。さらに、sampleRate % outputSampleRate = 0を設定すると、サイレントファイルが出力されます。

設定が間違っていた場合のために、encodeWAV関数を次に示します。

非常に長い間私を混乱させてきました。私が見逃していたことを教えてください...

----------------------------- 解決後 ------------------ --------------

私はそれが今うまく動いていることをうれしく思います.これが関数interleave()の正しい版です:

だから、私が渡した変数が適切な型ではなかったことがわかります~そして、親愛なる@jaketと他の友人に再び感謝します~私は何とかmyslfを理解しましたが、彼らは私に元のものをよりよく知らせてくれました~~~ : )