标签: chromakey

FFMPEG:用于图像/视频的色度键/绿屏滤镜

我需要一个视频来使用色度键滤镜/绿屏滤镜并将其覆盖在另一个视频上并将其作为新视频输出.

是否有用于此目的的现有库,脚本,过滤器或解决方案?

ffmpeg image-processing video-processing filter chromakey

19
推荐指数
2
解决办法
2万
查看次数

如何在Vigo Video Hypstar等摄像机上实时预览录像机

我想用Gif或图像像Vigo更改Surface预览底部叠加层

像这样

在此输入图像描述

请告诉我任何sdk或我用于此过滤器的内容

我可以使用此更改顶视图上的叠加层

这有帮助

 PictureCallback cameraPictureCallbackJpeg = new PictureCallback() 
  {  
    @Override
    public void onPictureTaken(byte[] data, Camera camera) 
    {
      // TODO Auto-generated method stub   
      Bitmap cameraBitmap = BitmapFactory.decodeByteArray
                                                                  (data, 0, data.length);

   int   wid = cameraBitmap.getWidth();
     int  hgt = cameraBitmap.getHeight();

    //  Toast.makeText(getApplicationContext(), wid+""+hgt, Toast.LENGTH_SHORT).show();
      Bitmap newImage = Bitmap.createBitmap
                                        (wid, hgt, Bitmap.Config.ARGB_8888);

      Canvas canvas = new Canvas(newImage);

      canvas.drawBitmap(cameraBitmap, 0f, 0f, null);

     Drawable drawable = getResources().getDrawable
                                                          (R.drawable.mark3);
      drawable.setBounds(20, 30, drawable.getIntrinsicWidth()+20, drawable.getIntrinsicHeight()+30);
    drawable.draw(canvas);



      File storagePath = new File(Environment.
                    getExternalStorageDirectory() + "/PhotoAR/"); 
      storagePath.mkdirs(); …
Run Code Online (Sandbox Code Playgroud)

camera android ffmpeg opengl-es chromakey

15
推荐指数
2
解决办法
662
查看次数

如何删除"绿屏"肖像背景

我正在寻找一种从很多图片中自动删除(=透明)"绿色屏幕"肖像背景的方法.

我自己的尝试到目前为止......呃...不太成功.

我正在四处寻找有关该主题的任何提示,解决方案或论文.商业解决方案也很好.

在你发表评论之前说它不可能自动完成:不,不是.实际上有一家公司提供这种服务,如果我没有提出不同的解决方案,我们将使用它们.问题是他们用自己的生命保护算法,因此不会出售/许可他们的软件.相反,我们必须将所有图片FTP到处理完成的地方,然后我们将结果FTP回家.(不,他们没有在菲律宾隐藏的工资过低的工作人员手动处理这个问题,因为我们每天都在谈几千张图片 ......)但是,这种做法限制了它的用处,原因有几个.所以我真的很喜欢这样的解决方案,可以在互联网离线时立即完成.

编辑:我的"肖像"描绘了有头发的人 - 这是一个非常棘手的部分,因为绿色背景会流入头发.另一个棘手的部分是,如果有可能在背景中的绿色和人们衣服中的相同绿色之间进行distingush.我上面谈到的公司声称他们可以通过弄清楚绿色区域是否在焦点(锐利与模糊)来做到这一点.

image-processing chromakey

10
推荐指数
2
解决办法
1万
查看次数

如何准确过滤RGB值以实现色度键效果

我刚刚阅读了教程并尝试了这个例子.所以我从网上下载了一个视频供我自己测试.我所要做的就是调整条件下的rgb值

这里是示例中的示例代码

computeFrame: function() {
    this.ctx1.drawImage(this.video, 0, 0, this.width, this.height);
    let frame = this.ctx1.getImageData(0, 0, this.width, this.height);
    let l = frame.data.length / 4;

    for (let i = 0; i < l; i++) {
      let r = frame.data[i * 4 + 0];
      let g = frame.data[i * 4 + 1];
      let b = frame.data[i * 4 + 2];
      if (g > 100 && r > 100 && b < 43)
        frame.data[i * 4 + 3] = 0;
    }
    this.ctx2.putImageData(frame, …
Run Code Online (Sandbox Code Playgroud)

javascript chromakey

9
推荐指数
1
解决办法
3058
查看次数

从Image中删除背景并仅拍摄图像部分以便在iOS中保存

这是我需要实现的:

  • 从相机或图库中拍摄图像
  • 从图像中删除背景并保存
  • 背景应该是黑色或白色
  • 还需要删除阴影和背景

结果示例:

原始图像

在此输入图像描述

结果图片

在此输入图像描述

这是我尝试过的:

CGFloat colorMasking[6]={222,255,222,255,222,255};
CGImageRef imageRef = CGImageCreateWithMaskingColors([IMG CGImage], colorMasking);
UIImage  *resultThumbImage = [UIImage imageWithCGImage:imageRef scale:ThumbImage.scale orientation:IMG.imageOrientation];
Run Code Online (Sandbox Code Playgroud)

它唯一的工作在白色背景.它不是更有效.我需要达到我在上面的图像中放置的确切结果.

我还提到了一些参考文献:

iOS如何掩盖图像背景颜色

如何在iPhone应用程序中删除图像的背景?

将捕获图像的背景颜色从相机更改为白色

有人可以帮我实现这个目标吗?

任何参考或将受到高度赞赏.

提前致谢.

opencv core-image uiimage chromakey ios

8
推荐指数
1
解决办法
8996
查看次数

平滑色度键-CoreImage的边缘

我正在使用以下代码从图像中删除绿色背景.但图像的边缘具有绿色色调,并且一些像素被损坏.如何使其平滑并使切割完美.

 func chromaKeyFilter(fromHue: CGFloat, toHue: CGFloat) -> CIFilter?
    {
        // 1
        let size = 64
        var cubeRGB = [Float]()

        // 2
        for z in 0 ..< size {
            let blue = CGFloat(z) / CGFloat(size-1)
            for y in 0 ..< size {
                let green = CGFloat(y) / CGFloat(size-1)
                for x in 0 ..< size {
                    let red = CGFloat(x) / CGFloat(size-1)

                    // 3
                    let hue = getHue(red: red, green: green, blue: blue)
                    let alpha: CGFloat = (hue >= fromHue && hue …
Run Code Online (Sandbox Code Playgroud)

core-image chromakey swift

8
推荐指数
1
解决办法
398
查看次数

使用openframeworks/opengl的色度键

我需要在openFrameworks应用程序中实现色度键控(删除纯色背景).

我将同时播放许多(10个或更多)视频(在同一帧中),并将它们与替代背景一起绘制到屏幕上.我可以通过迭代每个帧的像素并根据绿色阈值为每个像素设置alpha值来实现类似色度键的效果,但是同时有如此多的视频,这种像素敲击变得令人望而却步.

是否有一个简单的OpenGL混合模式或屏蔽操作,可以避免绘制某个颜色值的所有像素?或者是否有另一个openFrameworks或openFrameworks兼容的C++库可以有效地执行此操作?

或者,是否有一种良好(节省空间)的方式在快速兼容的视频文件中存储alpha通道?我们将存储数TB的视频(连续录制数周),因此我们使用节省空间的格式非常重要.

一个注意事项:源文件中的色度键颜色将是"完美的" - 它是以数字方式添加的.因此,如果有某种阈值处理或按位逻辑技巧可以做到这一点,那也可以.


编辑:这是有效的,遵循VJo的像素着色器的建议.我们使用glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)了以下像素着色器(洋红色作为替换颜色):

"数据/着色器/ chromakey.frag":

#extension GL_ARB_texture_rectangle : enable

uniform sampler2DRect src_tex_unit0;
vec4 color;

void main( void )
{
        vec2 st = gl_TexCoord[0].st;
        vec4 sample = texture2DRect(src_tex_unit0, st );
        gl_FragColor = sample;
        if((sample.r > 0.5) && (sample.g < 0.5) && (sample.b > 0.5)) {
                gl_FragColor.a = 0.0;
        }
}
Run Code Online (Sandbox Code Playgroud)

"数据/着色器/ chromakey.vert":

void main()
{
    gl_Position = ftransform();
    gl_TexCoord[0] = gl_MultiTexCoord[0];
}
Run Code Online (Sandbox Code Playgroud)

着色器的C++代理类 - shaderChromakey.h:

#include "ofMain.h"
#include "ofxShader.h"
#include "ofxFBOTexture.h"

class …
Run Code Online (Sandbox Code Playgroud)

c++ opengl openframeworks chromakey

5
推荐指数
1
解决办法
4898
查看次数

使用ImageMagick的绿屏色度键

我一直在寻找使用ImageMagick的绿屏色度键的好算法,但到目前为止还没有令人满意的答案.

我想探索一种在HSV/HSB颜色空间中使用范围选择的简单方法(类似于-fuzz)来选择我想要的绿色并使它们透明.-fuzz似乎仅适用于RGB空间,这是不希望的.

任何人都可以教我如何选择具有H,S,V分量的单独范围的颜色,例如,115-125度色调,40%-60%饱和度和30-80%值.

如果还有其他更好的色度键算法,您的建议也非常受欢迎.

提前致谢.

imagemagick chromakey

5
推荐指数
1
解决办法
4361
查看次数

c#.NET绿屏背景删除

我正在研究适用于Windows 8的台式电脑照片软件.我希望能够通过色度键控从照片中删除绿色背景.

我是图像处理的初学者,我找到了一些很酷的链接(比如http://www.quasimondo.com/archives/000615.php),但我不能用c#代码转换它.

我正在使用网络摄像头(使用aforge.net)查看预览并拍照.我尝试过滤色镜,但绿色背景并不是很均匀,所以这不起作用.

如何在C#中正确地做到这一点?

c# wpf image-manipulation chromakey

4
推荐指数
1
解决办法
8594
查看次数

如何批量处理色度关键照片(屏蔽绿屏)

目标

我有数百张图片,它们看起来都与此处的这张图片相似:

源照片 我只是想使用绿色屏幕为每个看起来像这里的图像创建一个蒙版(最好将边框稍微平滑一点):

面具

如果您想进行测试,这里是原始图像:https : //mega.nz/# !0YJnzAJR! GRYI4oNWcsKztHGoK7e4uIv_GvXBjMvyry7cPmyRpRA


我试过的

我找到了这篇文章,其中用户使用 Imagemagick 来实现色度键控。

for i in *; do convert $i -colorspace HSV -separate +channel \
  \( -clone 0 -background none -fuzz 3% +transparent grey43 \) \
  \( -clone 1 -background none -fuzz 10% -transparent grey100 \) \
  -delete 0,1 -alpha extract -compose Multiply -composite \
  -negate mask_$i; done;
Run Code Online (Sandbox Code Playgroud)

但无论我如何调整数字,结果都不完美: 结果


我觉得自己很傻,这么简单的问题我自己都找不到解决办法。另请注意,我使用的是 Linux。所以没有Photoshop或After Effects!:)

但我确信必须有一个解决方案来解决这个问题。

更新 1

我已经使用刚试过这种蓝绿脚本fmw42运行./greenscreen infile.jpg outfile.png,我相当满意的结果。 但是处理一张图像大约需要 40 秒,这导致我所有图像的总时间为 …

image imagemagick image-processing batch-processing chromakey

4
推荐指数
1
解决办法
2495
查看次数