请考虑以下内容(我使用的是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解决方案。
我希望这是动态的。现在它只拍照。 在我的演示过程中,如果没有让我的电脑崩溃,最好的方法是让它“实时”工作?我可以调整刷新率吗?操纵面具?停止“视频模式”拍照?
答案 0 :(得分:2)
只需将Show
包裹在Dynamic
中,它就会尽快更新。与Refresh
组合以设置刷新率。或者使用timed background task。
虽然手工制作的模糊滤镜需要太长时间,但结果有点慢。一个更好的选择是:
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的范围比应与相机的纵横比相同。
请记住,如前所述,这只是 fakes 视觉模糊。这远非现实。
答案 1 :(得分:1)
从未使用过具有Mma的相机,但似乎使用ImageCapture[]
可以指定帧速率和其他参数。
然后在“循环”中使用CurrentImage []来处理您想要的任何内容。您甚至可以从ImageCapture []界面停止设备。