GPUImage 色度键滤镜

2024-01-19

我正在尝试使用 GPUImage 框架的色键过滤器。我按照 Filtershowcase 示例进行操作,但显然我错过了一些东西,因为它只显示视频,但没有绿屏抠出效果。这是我对摄像机/滤镜的初始化:

camera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480
                                             cameraPosition:AVCaptureDevicePositionBack];
camera.outputImageOrientation = UIInterfaceOrientationLandscapeLeft;
camera.horizontallyMirrorFrontFacingCamera = NO;
camera.horizontallyMirrorRearFacingCamera = NO;


chromaKeyFilter = [[GPUImageChromaKeyFilter alloc] init];
chromaKeyFilter.thresholdSensitivity = sliderThres.value;

UIImage *inputImage = [UIImage imageNamed:@"WID-small.jpg"];


GPUImagePicture *sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage
                                                    smoothlyScaleOutput:YES];


[camera addTarget:chromaKeyFilter];
[sourcePicture addTarget:chromaKeyFilter];
[sourcePicture processImage];

[chromaKeyFilter addTarget:viewCamera];


[camera startCameraCapture];

因此,camera 和 sourcePicture 都输入到过滤器中,过滤器然后输入到 viewCamera 中。但现在,我只能看到纯视频,没有色键效果。 (我有一个可以改变阈值的滑块)。

UPDATED使用 GPUImageChromaKeyBlendFilter

camera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
camera.outputImageOrientation = UIInterfaceOrientationLandscapeLeft;
chromaKeyFilter = [[GPUImageChromaKeyBlendFilter alloc] init];


UIImage *inputImage;
inputImage = [UIImage imageNamed:@"WID-small.jpg"];
GPUImagePicture *sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];


[camera addTarget:chromaKeyFilter];
[sourcePicture processImage];
[sourcePicture addTarget:chromaKeyFilter];
[chromaKeyFilter addTarget:viewCamera];

[camera startCameraCapture];

使用此滤镜,它只是将其替换为黑色,而不是实际图像。


经过几天的尝试,发现了这个宝石...... https://github.com/BradLarson/GPUImage/issues/597#issuecomment-9949345。显然你应该坚持(强引用)GPUImagePicture。我的印象是过滤器链内部会有很强的参考,但事实并非如此。将其保留为实例变量解决了问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GPUImage 色度键滤镜 的相关文章

随机推荐

  • REST 和非 RESTful URL 一起不起作用

    我所有尝试获取纯静态配置和至少一个非静态 URL 的工作示例都失败了 我有这个页面作为指南 https cwiki apache org confluence display WW REST Plugin https cwiki apach
  • 错误:ExpressionChangedAfterItHasBeenCheckedError:先前值:“ng-untouched:true”。当前值:'ng-untouched: false'

    我已重现该问题堆栈闪电战 https stackblitz com edit angular iah7up用最少的代码 第1步 点击文字 第 2 步 将焦点放在文本字段上 步骤 3 输入 Enter 并检查控制台是否有此错误 错误 Expr
  • 为什么VS2013在使用不同机器时会发布所有网站文件?

    我有一台家用计算机和一台办公室计算机 用于使用 Visual Studio 2013 发布网站 如果我在同一台计算机上进行更改并重新发布 则只会发布更改 而不是所有文件 但是 当在办公室使用我的克隆机时 即使我获取最新版本 进行一小部分更改
  • Python:“就地”更改值的函数?

    我想实现一个函数 允许其参数的值 就地 重新分配 举个例子 一个将增加参数的函数x并减少参数y 这只是一个简单的例子来说明 动机是X and Y实际上是大型数据框的单个元素 他们的表情笨拙 并且这个操作会经历多次迭代 def incdec
  • 在 C# 中对 HTTP 请求进行单元测试

    我正在编写一些代码来调用 Web 服务 读回响应并对其执行某些操作 我的代码名义上看起来像这样 string body CreateHttpBody regularExpression strategy HttpWebRequest req
  • Angular 2:如何从 JSON 响应渲染 HTML,而不向用户显示标签? [复制]

    这个问题在这里已经有答案了 Edit 对那些只浏览了标题的人进行澄清 我的问题是角2 not 1 我有一个类似这样的组件模板 div post body div 该对象类似于 title Some Title body p The em p
  • 在 Rails 3 中从 application.js 访问 current_user 变量

    我希望从 application js 访问 current user 变量 我将 application js 重命名为 application js erb 以便服务器可以理解我的 ruby 代码 所以我得到了类似的内容 functio
  • 在单行 CSS 中添加 // 作为个人注释样式是一种不好的做法吗?

    我最近开始使用 注释 单行 CSS 代码 我知道我实际上并没有注释掉该行 我只是打破它 我应该使用 但效果是一样的 然后该行终止于 并且以下代码工作正常 我可以删除它 但通常我不喜欢这样做 以防万一我想稍后将其放回去 或者如果我回来查看我一
  • 模糊滤镜在 HTML5 Kinetic.Filters.Blur 中如何工作

    如何在 HTML5 中使用模糊滤镜 我发现这个 Kinetic Filters Blur imageData config 及参数 imageData Object config Object config radius Integer 用
  • 如何解析MultipartFormDataContent

    我正在编写一个 Web API 服务 我想在其中接受一个文件 图像 和一个包含图像关键信息的序列化对象 JSON 图像部分没有问题 但是当我添加包含反序列化对象的字符串内容时 我在尝试确定哪个是哪个并采取相应行动时遇到问题 客户端代码如下所
  • 如何在 pandas 中创建叠加条形图

    在更新我之前的一些代码以使用 pandas DataFrame 时 我遇到了以下问题 这是我的原始代码将创建的参考图 import pandas as pd import matplotlib pyplot as plt a range 1
  • 获取 CGEvent Tap 中按下的修改键

    设置事件点击后 我无法识别在给定 CGEvent 的情况下按下了哪个修饰键 CGEventFlags flagsP flagsP CGEventGetFlags event NSLog flags 0x llX flagsP NSLog s
  • 如何消除 php5 Strict 标准错误?

    将 PHP 升级到 5 4 3 WAMP 服务器 2 2 后 我用 CakePHP 1 3 制作的 Web 应用程序在索引中显示以下错误 严格标准 重新定义类的已定义构造函数 第 63 行 C cake cake libs object p
  • sql查询不打印

    我正在尝试运行动态查询 但由于某些奇怪的原因它没有运行 它甚至没有打印 请任何人告诉我为什么下面的动态查询不打印 DECLARE CLIENTPK NEW AS VARCHAR 50 DECLARE CGNEEPK AS VARCHAR 5
  • 弹簧动态注入,工厂化模式

    延续自依赖注入 延迟注入实践 https stackoverflow com questions 10384473 dependency injection delayed injection praxis 10414747 我有主课 pa
  • 如何在 Maven-3 下使用 MOXy 从 XSD 生成 Java?

    在 Maven 3 下使用 MOXy 从 XSD 生成 Java 的最简单 最好的方法是什么 参考 JAXB 接口有一个很好的 Maven 插件 但它似乎不支持 MOXy 有人有什么具体的可以提供吗 我知道我可以编写 ant 脚本 或者插件
  • 使用动态 SQL ALTER USER 查询预防 SQL 注入

    这是防止动态 sql alter user 查询中的 sql 注入的好方法吗 BEGIN z ident DBMS ASSERT ENQUOTE NAME ident z pass DBMS ASSERT ENQUOTE NAME pass
  • 如何将 jquery ui 小部件嵌入到polymer-dart web 组件中

    我尝试嵌入一个 jquery ui 小部件 例如将日期选择器集成到聚合物飞镖网络组件中 Web 组件的定义如下
  • 带引号的批处理路径

    如何检查路径是否有引号 如果没有则添加它 我知道我可以做这样的事情 set p path My path path 但我在引用时遇到问题 C My folder gt path gt C My folder gt Good 如果用户输入带引
  • GPUImage 色度键滤镜

    我正在尝试使用 GPUImage 框架的色键过滤器 我按照 Filtershowcase 示例进行操作 但显然我错过了一些东西 因为它只显示视频 但没有绿屏抠出效果 这是我对摄像机 滤镜的初始化 camera GPUImageStillCa