問題タブ [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.
android - Android の場合: ファイルから画像を読み取り、大きな画像の場合は解像度を下げてサイズを縮小し、Blob に保存します
私の Android アプリは、SD カードから画像ファイルを読み取り、その画像を sqlite データベースの blob に保存します。
現在、私は FileInputStream をバイト配列に変換し、これをブロブに保存しています。BLOB のサイズは 1MB を超えることはできないため、この場合はエラー メッセージを送信して操作をキャンセルします。
解像度(サイズではなく)を下げることで、1MBの制限を取り除き、より大きな画像も保存したいと思います。
BitmapFactory オプションの inSampleSize を使用して画像を圧縮したり、bitmap.compress などを使用してビットマップを byte[] に変換したりできます。ただし、BitmapFactory で作成した非圧縮のビットマップでも、元のバイト [] よりもはるかに大きなサイズになるため、品質が低下する恐れがあります。
私の問題を解決する方法はありますか? よろしくお願いします、ゲルハルト。
python - 不規則なタイムスタンプ リストをリサンプリング/ダウンサンプリングする方法は?
簡単な質問ですが、簡単な答えを見つけることができませんでした。
イベントが発生する時間を秒単位でカウントするデータのリストがあります。
1 時間 (3600 秒) ごとに発生するイベントの数をカウントし、これらのカウントの新しいリストを作成したいと考えています。
これがダウンサンプリングと呼ばれることは理解していますが、見つけることができるすべての情報は従来の時系列に関連しています。
上記の例では、新しいリストは次のようになります。
どんな助けでも大歓迎です。
opengl - 画面上のテクスチャ座標を取得 OpenGL
リアルタイムで変化するトーン マッピング オペレータを作成しようとしています。
LDR イメージ (オペレータを HDR イメージに適用した後) を球状テクスチャ、常に Y 軸を中心に回転する球体に配置し、カメラは球体の内側にあります。以下に例を示します。
画像の対数平均輝度を計算するために手動でダウンサンプリングを行っていますが、現在は正常に機能しています。
ここで、オペレーターにリアルタイムで変更してもらいたいので、各フレームで表示されている画像の部分についてのみログ平均輝度を計算し、オペレーターの影響をリアルタイムに再計算して変更したいと思います。
そのためには、各フレームでテクスチャのどの座標が画面上にあるかを知り、それらを選択して、ダウンサンプリングのために他の座標を破棄する必要があります。
何か助けはありますか?
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ループなしでこれを行うより速い方法はありますか?
textures - テクスチャをダウンサンプリングする方法
(私は Apple Metal でこれを行っていますが、質問は OpenGL と DirectX にも当てはまると思います。Metal または OpenGL のコード例は大歓迎です。)
smallTex
サイズが別の texture の倍数である1 つのテクスチャがありbigTex
ます。
たとえば、 にsmallTex
は次元が32x32
あり、 には がありbigTex
ます128x128
。
のすべてのピクセルにの対応するピクセルの平均値が含まれるように、 の内容を にダウンサンプリングする必要がありbigTex
ます。smallTex
smallTex
bigTex
bigTex
最初に、からサンプリングしてレンダリングするフラグメント シェーダーを作成できると考えましたsmallTex
。ただし、この方法では多くの情報が失われます。これは、サンプリングが最大 4 つのピクセルから読み取り、それらの間で補間を行うためです。
私が必要としているのは、ソース内のすべてのピクセルが結果に同じ影響を与える真のダウンサンプリングです。
これはミップマップ (基本的には元のテクスチャのダウンサンプリングされたコピー) を使用して実行できることを読みました。しかし、次にbigTex
、でミップマッピングを有効にする必要があります。これは、で多くのレンダリング (計算) ステップを実行しているため、パフォーマンスに悪影響を及ぼしますbigTex
。これにより、GPU がミップマップを更新するために多くの作業が必要になります。
必要なのは、テクスチャをダウンサンプリングする直接 GPU コマンドです。
それは可能ですか?ヒントはありますか?
python - wav オーディオ ファイルのダウンサンプリング
外部の Python ライブラリを使用せずに wav ファイルを 44100Hz から 16000Hz にダウンサンプリングする必要があるため、できればwave
and/or audioop
. 関数を使用してwavファイルのフレームレートを16000に変更しようとしsetframerate
ましたが、録音全体が遅くなります。オーディオ ファイルを 16kHz にダウンサンプリングして、同じ長さのオーディオを維持するにはどうすればよいですか?
matlab - Matlabでinterp1の正しいサンプリングレートを見つける方法
imfreehand によって取得された軸に多数のポイントをプロットするために、interp1 (またはデシメートまたはリサンプル) の正しいサンプリング レートを見つけようとしています。
最初に何かをプロットします(正弦固有のものではないもの)
次に、次のように軸上に imfreehand で何かを描きます。
imfreehand オブジェクトからデータ部分(サイズ 1x413)を抽出 し、元の線の長さでそれらをプロットしようとしましたが、スケーリングが間違っています ...
ヒントはありますか??
また、提案されたダウンサンプルと同じ結果..
ヒントはありますか?? x2
javascript - PCM オーディオを 44100 から 8000 にダウンサンプリング
私はしばらくの間、音声認識のデモに取り組んできましたが、API は8000または16000のサンプル レートで .wav ファイルを渡す必要があるため、ダウンサンプリングする必要があります。次のように2つのアルゴリズムを試しました。私が望むように問題を解決するものはありませんが、結果にはいくつかの違いがあり、それがより明確になることを願っています.
これは私の最初の試みであり、sampleRate % outputSampleRate = 0の場合は正常に動作しますが、outputSampleRate = 8000 または 1600の場合、結果のオーディオ ファイルは無音になります (出力配列のすべての要素の値が 0 であることを意味します)。
これが巨大企業からの 2 回目の試みで、うまくいきませんでした。さらに、sampleRate % outputSampleRate = 0を設定すると、サイレントファイルが出力されます。
設定が間違っていた場合のために、encodeWAV関数を次に示します。
非常に長い間私を混乱させてきました。私が見逃していたことを教えてください...
----------------------------- 解決後 ------------------ --------------
私はそれが今うまく動いていることをうれしく思います.これが関数interleave()の正しい版です:
だから、私が渡した変数が適切な型ではなかったことがわかります~そして、親愛なる@jaketと他の友人に再び感謝します~私は何とかmyslfを理解しましたが、彼らは私に元のものをよりよく知らせてくれました~~~ : )