请考虑以下几点(我使用的是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解决方案。
我希望这是动态的。现在它只拍一张照片。在我的演示过程中,怎样才能让它“实时”工作,而不会让我的电脑崩溃?我可以调整刷新率吗?操控面具?要停止“视频模式”拍照吗?
发布于 2011-09-19 15:04:05
只需将您的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范围比应与相机的纵横比相同。

请记住,如前所述,这只会造成视觉模糊。这与现实相去甚远。
发布于 2011-09-19 11:27:23
从没有使用过Mma的摄像头,但似乎可以通过使用ImageCapture[]来指定帧率和其他参数。
然后在一个“循环”中使用CurrentImage[]来处理您想要的任何东西。您甚至可以从ImageCapture[]界面停止设备。
https://stackoverflow.com/questions/7465580
复制相似问题