过滤器&操纵CurrentImage []

时间:2011-09-19 01:13:06

标签: dynamic wolfram-mathematica mathematica-8

请考虑以下内容(我使用的是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解决方案。

我希望这是动态的。现在它只拍照。 在我的演示过程中,如果没有让我的电脑崩溃,最好的方法是让它“实时”工作?我可以调整刷新率吗?操纵面具?停止“视频模式”拍照?

2 个答案:

答案 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的范围比应与相机的纵横比相同。

enter image description here

请记住,如前所述,这只是 fakes 视觉模糊。这远非现实。

答案 1 :(得分:1)

从未使用过具有Mma的相机,但似乎使用ImageCapture[]可以指定帧速率和其他参数。

然后在“循环”中使用CurrentImage []来处理您想要的任何内容。您甚至可以从ImageCapture []界面停止设备。