我需要使用掩码从完整图像剪切并创建被屏蔽的图像.

=

我试过以下:

UIImage *imgMask = [UIImage imageNamed:@"Mask.png"];
UIImage *imgBgImage = [UIImage imageNamed:@"Full.png"];



GPUImageMaskFilter *maskingFilter = [[GPUImageMaskFilter alloc] init];


GPUImagePicture * maskGpuImage = [[GPUImagePicture alloc] initWithImage:imgMask ];

GPUImagePicture *FullGpuImage = [[GPUImagePicture alloc] initWithImage:imgBgImage ];




[maskGpuImage addTarget:maskingFilter];
[maskGpuImage processImage];


[maskingFilter useNextFrameForImageCapture];


[FullGpuImage addTarget:maskingFilter];
[FullGpuImage processImage];



UIImage *Outputimage = [maskingFilter imageFromCurrentFramebuffer];

但是,我生成的输出图像是:

请大家携手共进
干杯.

另外,谢谢BradLarson.

解决方法

掩码是第二个目标,如在滤镜着色器代码(textureColor2)中可以看到的.
//Averages mask's the RGB values,and scales that value by the mask's alpha
//
//The dot product should take fewer cycles than doing an average normally
//
//Typical/ideal case,R,G,and B will be the same,and Alpha will be 1.0

 lowp float newAlpha = dot(textureColor2.rgb,vec3(.33333334,.33333334,.33333334)) * textureColor2.a;

 gl_FragColor = vec4(textureColor.xyz,newAlpha);

然后,您需要在黑色背景上“反转”您的面具:白色心脏,因为过滤器使用RGB像素值的“重量”来设置目标图像上的alpha值.

所以你的代码应该是

// Image first,Mask next
[FullGpuImage addTarget:maskingFilter];
[FullGpuImage processImage];

[maskingFilter useNextFrameForImageCapture];

[maskGpuImage addTarget:maskingFilter];
[maskGpuImage processImage];

和你的面具(好​​的,我做了一个丑陋的快速测试,使用正确的图像)像

预期结果.

ios – 如何使用GPUImage实现GPUImageMaskFilter的更多相关文章

  1. ios – 如何使用GPUImage实现GPUImageMaskFilter

    我需要使用掩码从完整图像剪切并创建被屏蔽的图像.=我试过以下:但是,我生成的输出图像是:请大家携手共进干杯.另外,谢谢BradLarson.解决方法掩码是第二个目标,如在滤镜着色器代码中可以看到的.然后,您需要在黑色背景上“反转”您的面具:白色心脏,因为过滤器使用RGB像素值的“重量”来设置目标图像上的alpha值.所以你的代码应该是和你的面具像预期结果.

  2. ios – GPUImage为每个RGB通道添加色调/颜色调整(调整红色以更加粉红色或橙色)

    试图调整特定频道的色调.看着色调过滤器,我想也许我可以通过评论绿色和蓝色修饰符,影响到只有红色通道的变化:但是,这张照片就是灰色/蓝色,被冲洗掉或是紫色的绿色.我在正确的轨道上吗?

  3. ios – 使用GPUImage和GPUImageHoughTransformLineDetector检测突出显示的文本边界框

    我正在使用GPUImageHoughTransformlineDetector来尝试检测图像中突出显示的文本:我使用以下代码来尝试检测边界蓝框线:无论edgeThreshold还是1023行,每次运行此命令时,结果输出如下所示:我不清楚为什么改变门槛没有做任何事情,但我确信我误解了一些事情.任何人对如何做到这一点有任何想法?解决方法我刚刚在框架中对Hough变换线检测器进行了一些改进,这将对此有所

  4. ios – 使用OpenGL的神秘app崩溃

    我正在使用GPUIImage库来开发iOS相机应用程序.有时,当应用程序在2-3分钟后暂停时,Xcode会在应用程序上发生崩溃,指向方法中的行:可能是这次崩溃的原因是什么?我有一个非常长的摄像头设置,代码本身在GPUImageContext类中.我在这里做错了什么?

  5. swift – 使用Cocoapods与应用程序扩展

    我试图在Xcode6Beta-6中使用cocoapods库构建照片应用程序扩展。Xcode为照片扩展创建的桥接头无法从Cocopapod查看任何内容。唯一的例外是,对于像SVProgressHUD这样的简单pod,以下丑陋的可怕的黑客工程:#import“../Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h”。此外,thisSOquestion中描述的问题可能有关,但我反问这个问题,以防我的问题是特定于应用程式额外资讯。正确的方法是更新您的podfile只

  6. 如何在android中使用没有缩放的GPUImage

    如何在不调整原始图像大小的情况下使用GPUImage库,我需要为整个GPUImageView申请像Pixelate或Blur这样的过滤器.我想用GPUImage,但我不知道怎么做.解决方法您更改GPUImage库GPUImageRendering类下面的代码是

  7. 使用GPUImage Android进行视频处理

    我想使用GPUImageAndroid实时处理视频.我看到使用不同的过滤器创建图片的示例,但我没有找到任何使用过滤器录制视频的示例.这是可能的GPUImageAndroid?

  8. ios – “GPUImage.h”未找到

    我正在尝试在一个项目中设置GPUImage,但是我无法追踪为什么我收到错误:“GPUImage.h”未找到.我添加了框架,设置了目标依赖关系,将HeaderSearch路径添加为:framework,并添加了其他链接器标志-ObjC.还没有运气如果有人想看看,我包括了我的超简单测试项目hereandlinkedbelow.我知道这必须是文件和基本的,但是我在GitHub上进行了搜索,但没有找到对这

  9. 使用GPUImage重新创建iOS 7玻璃效果

    我试图在我的玻璃杯中使用iOS7风格的玻璃效果,将图像效果应用于MKMapView的屏幕截图.ThisUIImagecategory,由苹果提供,是我用作基准.该方法使源图像饱和,应用色彩,并使用输入值大量模糊:这产生了我正在寻找的效果,但需要太长时间–在iPhone4之间渲染时间为.3和.5秒.我想使用优秀的GPUImage,因为我的初步尝试速度已经快了约5-10倍,但是我似乎无法理解.这产生一

  10. ios – GPUImage过滤视频

    这是以前的后续跟踪,但是仅仅是相关的question我正在使用GPUImage库来应用过滤器到我的相机应用程序中的静态照片和视频.几乎一切都很好.我还没有解决的其余一个问题如下:>我捕获一个GPUImageMovie>我把它写入文件系统>我从文件系统读取它并应用一个新的过滤器>我将其写入文件系统中的其他URL保存到该新URL的是具有正确持续时间但没有移动的视频.当我打的时候,它只是静止的图像,我认

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部