0

以下を考慮してください(Mathematica 8を使用しています):

mask = DensityPlot[-Exp[-(x^2 + y^2)/5], {x, -4, 4}, {y, -3, 4}, 
       Axes -> None, Frame -> None, Method -> {"ShrinkWrap" -> True}, 
       ColorFunction -> GrayLevel, ImageSize -> 512];

       Show[ImageFilter[Mean[Flatten[#]] &, CurrentImage[], 20, 
            Masking -> mask], ImageSize -> 512]

Can we generate "foveated Image" in Mathematica でSjoerd ソリューションを使用します。

これを動的にしたいと思います。今は写真を撮るだけです。プレゼンテーション中にコンピュータをクラッシュさせずにこれを「ライブ」で動作させる最善の方法は何でしょうか? リフレッシュレートを調整できますか? マスクを操作しますか? 「ビデオモード」を停止して写真を撮りますか?

4

2 に答える 2

2

ラップするだけShowDynamic、できるだけ早く更新されます。と組み合わせてRefresh、リフレッシュ レートを設定します。または、時間指定されたバックグラウンド タスクを使用します。

ただし、手作りのぼかしフィルターは時間がかかりすぎるため、結果は少し遅くなります。より良い代替手段は次のようになります。

mask = DensityPlot[-Exp[-(x^2 + y^2)/5], {x, -4, 4}, {y, -3, 3}, 
   Axes -> None, Frame -> None, Method -> {"ShrinkWrap" -> True}, 
   ColorFunction -> GrayLevel, ImageSize -> {320, 240}];

ImageCompose[im = CurrentImage[], SetAlphaChannel[Blur[im, 20], mask]]//Dynamic

リアルタイムで更新されます。ノートパソコンのカメラのサイズに合わせてマスクの画像サイズを変更したことに注意してください。x と y の範囲比率は、カメラの縦横比と同じにする必要があります。

ここに画像の説明を入力

前に述べたように、これは視覚的なぼやけを偽造するだけであることを覚えておいてください。それは現実からかけ離れています。

于 2011-09-19T07:04:05.010 に答える
1

Mmaでカメラを使ったことはありませんが、使用ImageCapture[]することでフレームレートなどのパラメータを指定できるようです。

次に、「ループ」で CurrentImage[] を使用して、必要なものを処理します。ImageCapture[] インターフェイスからデバイスを停止することもできます。

于 2011-09-19T03:27:22.723 に答える