問題タブ [motion-blur]

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 投票する
2 に答える
8140 参照

javascript - より良いキャンバスモーションブラー

以前に質問されましたが、受け入れられた解決策は私には機能しません(文字通り、リンクされたデモでは何もぼやけていません)、それは2つのキャンバス要素を含むちょっとした悩みの種です。

私は現在、「貧乏人」のモーションブラー手法を使用しています。これは、基本的に、ソースイメージをキャンバスに何度もブリットし、各反復後に背景と同じ色の半透明の長方形を上にドロップすることを含みます。

これがデモです:http://jsfiddle.net/YmABP/

ご覧のとおり、画像の端にはうまく機能しますが、画像の内側の部分がまったくぼやけることはなく、部分的に透明な画像ではひどく見えます。

モーションブラーのより良いテクニックはありますか?理想的には、不透明度パラメータのようなことを実行して渡すことができるようにしたいのですcontext.drawImageが、AFAIKにはそのようなものはありません。一部の画像はサードパーティのドメインでホストされている可能性があるため、個々のピクセルデータにアクセスすることはできません。結局のところ、画像をサーバーにプルしてから、各ピクセルを繰り返し処理して、半透明の小さな長方形として描画することができますが、これはやり過ぎのようです。

より良いモーションブラーソリューション、できればリモート画像で使用できるソリューションを知っている人はいますか?

私はこれが重要かどうかは疑わしいが、私の現在の目的では、物事は上向きにしか動かない。

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

opengl - OpenGL ダイナミック オブジェクト モーション ブラー

カメラの動きに基づいてぼかす方法については、GPU Gems 3 チュートリアルに従っています。ただし、オブジェクトの動きに基づいてぼかしも実装したいと考えています。解決策は記事に示されています (以下の引用を参照)。

現時点では、オブジェクトのマトリックスにビュー プロジェクションを乗算してから、以前のビュー プロジェクションに対して個別に乗算し、それらをピクセル シェーダーに渡して、ビュー プロジェクションだけでなく速度を計算しています。

それが実際に正しい方法である場合、モデル ビュー プロジェクションを単純に渡すことができないのはなぜですか? 私はそれらが同じ値になると思いましたか?

GPU Gems 3 モーション ブラー

リジッド ダイナミック オブジェクトの速度テクスチャを生成するには、現在のフレームのビュー プロジェクション マトリックスと最後のフレームのビュー プロジェクション マトリックスを使用してオブジェクトを変換し、後処理パスと同じ方法でビューポート位置の差を計算します。この速度は、変換された両方の位置をピクセル シェーダーに渡し、そこで速度を計算することによって、ピクセルごとに計算する必要があります。

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

java - Graphics2D(JAVA)からawt.Imageデータを取得する

ゲームエンジンのモーションブラー効果を低くしているのですが、MotionBlur[]という名前の画像の5つのインデックス配列があります。

グラフィックオブジェクトが画面への描画を終了するたびに、そのデータをMotionBlur[0]に保存する必要があります。フレームごとに、画像は0から4に移動され、キックアウトされます。次の各画像を、適切な透明度を変えて、最後の後に描画します。

私が求めているのは、Graphics2Dデータをawt.Imageに保存する方法だけです。

すべての助けに感謝します

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

3d - DirectX - オブジェクトの z 座標に従ってオブジェクトをぼかす

オブジェクトの z 座標 (画面に入る座標) に従って、3D シーン内のオブジェクトをぼかしたいと考えています。z=5 の場合、ぼかしの量 = 0、z = 10 の場合、ぼかし = 50、z = -30 の場合、ぼかし = 40 とします。これは、すべてのオブジェクトに対して発生する必要があります。

  1. これどうやってするの?
  2. これを実装するには、directx 9.0c 以降を使用する必要がありますか (シェーダーのため)?

Z バッファーを使用しますか? 私はDirectXに少し慣れていません。

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

image - デブラー用のMatlabウィーナーフィルター

画像のぼけ除去にウィーナーフィルターを使用しています。

http://www.mathworks.it/it/help/images/ref/deconvwnr.html

重要なスニペットは次のとおりです。

問題は、deconwnrが元の画像Iで計算されたNSRの推定値を必要とすることです。
しかし、私は元の画像を持っていません。私はblurred_noisy画像だけを持っています。

estmated_nsrとしてどの値を渡す必要がありますか?

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

javascript - スクロールのモーションブラー効果

スクロール時にモーションブラー効果をHTMLdivに適用しようとしています。これを行うには、各divのクローンを1/5秒ごとに作成し、スクロール時にページ上の位置を固定しておく必要があります。また、各divクローンの不透明度を1/5秒ごとに下げ​​、ページ上に一度にdivのクローンが5つしかないことを確認する必要があります(これにより、divのクローンが数百になります。数秒後のページ)。このメソッドを使用してJavaScriptでモーションブラー効果を作成することは可能でしょうか?

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

java - 角度と大きさが与えられたモーション ブラー畳み込み行列

畳み込み行列(単なる 2D double[][])を取り、それを画像に適用するJavaコードがあります。ぼかしの角度 (度) と大きさを指定して、モーション ブラーを与えるマトリックスを作成する方法を見つけようとしています。

マグニチュード = 1 (中央のピクセルが各方向に 1 ピクセルずつブラーされる) のブラーのマトリックスの例、45 度のモーション ブラーは次のとおりです。

マグニチュードは行列のサイズ (サイズ = 2*マグニチュード + 1) を決定し、セルの 1 行は移動方向にゼロではありません。

私が問題を抱えているのは、角度が与えられたマトリックスでゼロ以外のセルを特定するために必要な数学/コードです。

疑似 (または実際の) コードは非常に役立ちます。

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

c++ - アキュムレーション バッファなしの OpenGL モーション ブラー

OpenGL を使用して実際のモーション ブラーを実装しようとしていますが、累積バッファがありません (グラフィック カードで動作しないため)。実装に関する私のアイデアは次のとおりです。

  • 「ぼかし」ごとに(一時的に)空のフレームバッファとテクスチャの固定配列を用意する
  • 新しいフレームに遭遇するたびに、最初の要素を最後に移動し、代わりにそのフレームバッファにレンダリングします
  • 最初のフレームの不透明度は 1/ n、2 番目のフレームの不透明度は 1/( n / 2) というように、最新のフレームが 1 になるまですべてをレンダリングします。

これよりも簡単/高速/最適化された方法はありますか? それともこれが最善の解決策ですか?

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

javascript - Javascript で画像がぼやけているかどうかを検出するにはどうすればよいですか?

javascript 文字列に jpeg データの URL があります。写真の「ぼやけ」を検出する方法はありますか? 写真は、ブラウザで処理されているビデオからのものです。

単純ではないことは理解していますし、ぼやけの決定的な基準もありませんが、ぼやけを測定する方法はありますか?