根据网络摄像头输入创建渐变
简单的问题,复杂的答案可能...... 我想根据(实时)网络摄像头输入创建渐变,最好进行处理。我仍然是个菜鸟,所以我希望有人能指出我正确的方向。提前致谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
简单的问题,复杂的答案可能...... 我想根据(实时)网络摄像头输入创建渐变,最好进行处理。我仍然是个菜鸟,所以我希望有人能指出我正确的方向。提前致谢!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
目前尚不清楚是线性、径向还是其他类型的渐变,以及网络摄像头的像素如何映射到渐变。
一种想法可能是使用像素的亮度并使用它来控制径向渐变椭圆的大小,例如,类似于 p5 视频像素示例。 (这个例子是 p5.js 不是Processing java,但是有很多相似之处可以移植/使用Processing 中的逻辑)。
处理已经有线性渐变和径向渐变。如果实时运行,则值得缓存梯度。这是一个较旧的渐变缓存答案,我在其中介绍了这一点。
要点归结为:
这可以用来替换视频像素抖动中的
ellipse()
调用,如示例所示。 (请随意更改函数参数以适合您的愿景)。此外,如果线性/径向渐变还不够,您可以考虑着色器。 p5.js Webcam Shader 示例 是一个很好的开始,着色器处理中也支持PShader。这可能是一个更高级的主题(在这种情况下 处理PShader教程会有很大帮助)。
It's unclear if linear, radial or other type of gradies and how pixels from the webcam are mapped to gradients.
One idea could be to use the brigthness of a pixel and use that to control the size of a radial gradient ellipse for example, similar to p5 Video Pixels example. (The example is p5.js not Processing java, however there are plenty of similarities to be able to port/use the logic in Processing).
Processing already has examples for Linear Gradient and Radial Gradient. If running in realtime it's worth caching the gradients. Here's an older gradient caching answer where I covered this.
The gist boils down to:
This could be used to replace the
ellipse()
calls in the Video Pixels dithering like example. (Feel free to change the function arguments to be suit your vision).Additionally, if Linear/Radial gradients aren't enough you could look into shaders. The p5.js Webcam Shader example is a great start and shaders are supported in Processing as well PShader. This may be a more advanced topic (in which case the Processing PShader tutorial will help a lot).