问题标签 [chromakey]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
glsl - 将 ShaderToy Chromakey 示例移植到 P5.js
我正在尝试将 shadertoy chromakey 示例移植到 p5,并使用网络摄像头作为视频源。经过多次阅读着色器文档后,我的代码似乎无法正常工作。我需要一些帮助。
片段着色器代码:
P5草图代码:
java - 从图像 Java 中删除 chromakey 的简单方法
有没有简单的方法可以通过java从图像中删除色键?我尝试阅读有关 openCV 的信息,这很难学习和使用。
image - 如何批处理色度键照片(屏蔽绿屏)
目标
我在这里有数百张与这张相似的图片:
我只是想使用绿屏为每个看起来像这里的图像创建一个蒙版(最好将边框平滑一点):
如果您想进行测试,这是原始图像:https ://mega.nz/#!0YJnzAJR!GRYI4oNWcsKztHGoK7e4uIv_GvXBjMvyry7cPmyRpRA
我试过的
我发现这篇文章用户使用 Imagemagick 来实现色度键控。
我觉得自己很愚蠢,我自己无法找到解决如此简单问题的方法。另请注意,我使用的是 Linux。所以没有 Photoshop 或 After Effects!:)
但我确信必须有解决这个问题的办法。
更新 1
我刚刚尝试通过运行 fmw42 使用这个绿屏脚本,我对结果相当满意。
但是处理一张图像大约需要 40 秒,这导致我的所有图像总共需要 8 小时(尽管我有一个相当强大的工作站,请参阅下面的规格)也许这与处理时发生的那些错误有关?:./greenscreen infile.jpg outfile.png
工作站规格
- 内存:125,8 GiB
- 处理器:AMD® Ryzen 9 3900x 12 核处理器 × 24
- 显卡:GeForce GTX 970/PCIe/SSE2 (两个)
c++ - DirectX 中的色度键
我需要使用 Direct2d 实现一些色度键功能。
我有一些来自 MSDN 的代码示例:
但是,我对 WinAPI 有点陌生。
我们的平台具有产量实例的功能ID3D11Device
,我收到DX11Texture
作为输入。
我有两个问题:
1. 我怎样才能m_d2dContext
得到ID3D11Device
?
2. 我怎样才能ID2D1Image
得到DX11Texture
?
c# - 如何删除实时视频中的背景(UWP、C#)
谢谢你来我的问题。
我想用 UWP 去除视频中的绿色背景。色键的定时是点击【删除】按钮。(请看下图)
我知道很多人为图像做了色键效果。但我找不到任何关于视频色键的网站。
我在 UWP 中制作了 webRTC 应用程序(您可以在 Microsoft 的github中找到示例),然后我想做 chromakey。
这个应用程序使用 MediaplayerElement 来显示视频。
我的想法是...
获取视频帧,因为视频是一系列图像。
删除每个图像的绿色背景。
这时,我们可以使用多种库。(位图、Win2D、OpenCVSharp、Magick.NET...)
显示它们。
在 HTML 和 JavaScript 中,我们可以使用 video 和 canvas 元素,然后我们可以轻松地做这些事情。但我不能在 C# 中完成它们。
请帮我...
(XAML 代码)
(参考)
・<a href="https://github.com/microsoft/MixedReality-WebRTC" rel="nofollow noreferrer">MixedReality-WebRTC 这是我的应用程序的基础。
・<a href="https://docs.microsoft.com/ja-jp/windows/uwp/audio-video-camera/play-audio-and-video-with-mediaplayer" rel="nofollow noreferrer">如何播放 MediaPlayerElement
・<a href="https://docs.microsoft.com/ja-jp/windows/uwp/audio-video-camera/basic-photo-video-and-audio-capture-with-mediacapture#capture-a- video" rel="nofollow noreferrer">捕获视频
・<a href="https://docs.microsoft.com/ja-jp/windows/uwp/audio-video-camera/media-compositions-and-editing#add-effects-to-a-media-clip" rel="nofollow noreferrer">为媒体剪辑添加效果
・<a href="https://stackoverflow.com/questions/20901093/c-sharp-net-green-screen-background-remove">c#.NET绿屏背景移除
swift - 通过 Buffer Post Xcode 11.5 更新的数据
我有的:
引用Apple 的 Chroma Key Code,它指出我们可以通过以下方式创建 Chroma Key Filter Cube
然后我创建了一个函数,以便能够将任何图像插入此过滤器并返回过滤后的图像。
然后我可以在任何图像上执行此功能并获得色度键图像。
更新问题:
let data = Data(buffer: UnsafeBufferPointer(start: &cubeRGB, count: cubeRGB.count))
但是,一旦我将 Xcode 更新到 v11.6,我就会在上面的代码行中收到警告Initialization of 'UnsafeBufferPointer<Float>' results in a dangling buffer pointer
以及运行时错误Thread 1: EXC_BAD_ACCESS (code=1, address=0x13c600020)
。
我尝试用这个答案解决这个问题,以纠正 Swift 的新UnsafeBufferPointer
警告。然后警告被纠正,我不再有运行时错误。
问题
现在,虽然没有出现警告并且我没有遇到运行时错误,但我仍然得到 print statement Not filtered image
。我认为问题源于处理或删除数据的方式,不完全确定如何正确UnsafeBufferPointers
处理Data
.
正确获取Data
色度键的正确方法是什么?
javascript - 如何使用 GPU.js 将繁重的 JavaScript 数学运算传递给 GPU
背景
我已经构建了一个基于 Web 的小应用程序,它会弹出窗口来显示您的网络摄像头。我想添加对您的提要进行色度键的功能,并且已经成功地使几种不同的算法正常工作。然而,我发现的最好的算法对于 JavaScript 来说是资源密集型的;单线程应用程序。
问题
有没有办法将密集的数学运算卸载到 GPU 上?我试过让 GPU.js 工作,但我不断收到各种错误。这是我想让 GPU 运行的功能:
这里发生的是我发送一个 RGB 值,rgbToLab
它返回 LAB 值,该值可以与我的绿屏已存储的 LAB 值进行比较dE76
。然后在我的应用程序中,我们检查该dE76
值是否为阈值,例如 25,如果该值小于此值,我会将视频源中的像素不透明度设置为 0。
GPU.js 尝试
这是我最新的 GUI.js 尝试:
错误:
以下是我在调用 tmp 函数时尝试使用 GPU.js 时遇到的错误列表。1)用于我上面提供的代码。2) 用于擦除 tmp 中的所有代码并仅添加一个空返回 3) 是如果我尝试在 tmp 函数中添加函数;一个有效的 JavaScript 东西,但不是 C 或内核代码。
- 未捕获的错误:未定义标识符
- 未捕获的错误:编译片段着色器时出错:错误:0:463:';' : 语法错误
- 未捕获的错误:getDependencies 中未处理的类型 FunctionExpression
python - chromakey:opencv 使绿屏视频透明
我正在使用下面的脚本将原始视频的绿屏替换为背景图像,但结果不是我所期望的,我已经更改了 u_green 数组参数和 l_green,但它只会变得最糟糕。最后,我想让它透明我应该使用哪个面具?
我将不胜感激任何帮助来解决这个问题。
Python脚本:
更新 源视频: 链接