Tag: gpuimage

具有UIView透明度的GPUImagevideo

我正在使用AV-Out的iOS项目在第二个屏幕上显示1280×720窗口中的内容。 我有一个MPMoviePlayerController的视图作为背景,并在不同的其他元素,如UIImages和UILabels顶部。 背景电影循环播放。 现在我想覆盖整个视图,包括所有可见元素与另一个具有透明度的全屏animation,以便只有底层视图的一部分可见。 我第一次尝试用UIImageView PNGanimation。 我惊讶地发现,实际上在iPhone5上工作,但当然,这个PNG是如此之大,这使用了太多的内存,它在iPhone4s以下的一切崩溃。 所以我需要另一种方式。 我想出了如何使用AVFoundation同时播放第二部电影。 到现在为止还挺好。 现在我可以播放覆盖video,但当然它不是透明的。 我还了解到,使用GPUImage库,我可以使用GPUImageChromaKeyBlendFilter来过滤video中的颜色,使其透明,然后将其与另一个video合并。 我不明白的是在我的情况下实现它的最佳方式来获得我想要的结果。 我可以使用顶部video下面的整个视图层次作为GPUImageChromaKeyBlendFilter第一个input和绿屏风格的video作为第二个input,并以720p显示结果? 我该怎么做? 或者,最好是使用GPUImageChromaKeyFilter ,只是过滤绿屏风格的video,并在视图中播放video高于所有其他视图? 这个video的背景是透明的吗? 谢谢你的帮助!

iOS实时确定名片的angular落

我想要实现一个名片检测function像这个应用程序( https://scanbot.io )。 照相机应检测名片并自动拍照(仅限名片)。 我的想法是使用BradLarson's GPUImage库,检测angular落(使用哈里斯angular点检测algorithm),计算矩形的最大矩形,裁剪包含在矩形内的图像。 这是我的代码: – (void)setupFilter { videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack]; filter = [[GPUImageHarrisCornerDetectionFilter alloc] init]; [(GPUImageHarrisCornerDetectionFilter *)filter setThreshold:0.01f]; [(GPUImageHarrisCornerDetectionFilter *)filter setSensitivity:0.5f]; [(GPUImageHarrisCornerDetectionFilter *)filter setBlurRadiusInPixels:2.0f]; [videoCamera addTarget:filter]; videoCamera.runBenchmark = YES; GPUImageView *filterview = [[GPUImageView alloc] init]; self.view=filterview; GPUImageCrosshairGenerator *crosshairGenerator = [[GPUImageCrosshairGenerator alloc] init]; crosshairGenerator.crosshairWidth = 22.0; [crosshairGenerator forceProcessingAtSize:CGSizeMake(480.0, 640.0)]; [(GPUImageHarrisCornerDetectionFilter […]

色度过滤video使用GPUImage?

我正在尝试使用透明键( RGB: 0x00FF00 ,或全绿)在我的应用程序中使用@ BradLarson令人敬畏的GPUImage工具包显示透明的video文件。 但是,我遇到了一些GPUImageChromaKeyFilterfilter的困难,我不明白为什么。 我的源video文件可在我的保存箱(12 KB,3秒长,完整的绿色背景,只是在屏幕上的一个方块), 我使用了名为SimpleVideoFilter的示例项目。 这是我尝试使用的代码(我简单地replace了-viewDidLoad ): NSURL *sampleURL = [[NSBundle mainBundle] URLForResource:@"sample" withExtension:@"m4v"]; movieFile = [[GPUImageMovie alloc] initWithURL:sampleURL]; filter = [[GPUImageChromaKeyFilter alloc] init]; [filter setColorToReplaceRed:0 green:1 blue:0]; [filter setEnabled:YES]; [movieFile addTarget:filter]; GPUImageView *filterView = (GPUImageView *)self.view; [filter addTarget:filterView]; [movieFile startProcessing]; 根据文档(这是稀疏的),这应该有更换video中的所有绿色的效果。 相反,我把它作为输出: 这告诉我,video正在播放(因此它正在复制到应用程序),但它似乎没有做任何色度键控。 为什么会这样? 我是否需要手动设置平滑值和阈值? 我不应该,因为源只包含两种颜色( 0x00FF00和0x000000 )。 我也在设备上testing过这个,没有用。 几乎所有其他的filter,我试图使用工作,如GPUImageRGBFilter […]

核心图像和GPUImage之间的主要区别

核心图像和GPUImage框架(除了GPUImage是开源的)之间的主要区别是什么? 一目了然,他们的界面看起来非常相似…将一系列filter应用于input以创build输出。 我看到一些小的差异,例如GPUImage所具有的易于使用的LookupFilter。 我想弄清楚为什么有人会select一个照片过滤应用程序。

如何在iOS中为高斯模糊效果设置animation效果?

对于整个iOS 7的感觉,我想要在屏幕的特定部分应用模糊效果来对其进行混淆,但是我不想立即将模糊处理掉,我想要对其进行animation处理并将其制作为animation效果用户几乎看到正在应用的模糊效果。 就像在Photoshop中一样,您可以将高斯模糊值从0改为10,而不是0到10。 我已经尝试了一些解决scheme,最stream行的build议是将模糊视图放在非模糊视图的顶部,然后降低模糊视图的alpha值。 这工作正常 ,但不是很令人愉快,因为没有过渡,这只是一个覆盖。 例: 什么是更好的方法来达到这样的效果? 我熟悉GPUImage ,但不知道如何做到这一点。 如果我能够控制模糊的百分比,那也是很好的,所以可以从用户那里交互地应用。 (例如:用户中途拖动,模糊一半,等等)

GPUImagevideofilter设置亮度不起作用

//整个代码看起来不错,但是movieWriter – setCompletionBlock行没有被编译。 不知道是什么问题。 我试图从过去3天解决,但没有得到它的成功工作。 -(IBAction)setBrightness:(id)sender { sleep(1); NSURL *sampleURL = [NSURL URLWithString:_videoURLPath]; movieFile = [[GPUImageMovie alloc] initWithURL:sampleURL]; movieFile.runBenchmark = YES; movieFile.playAtActualSpeed = NO; filterView = (GPUImageView *)gpuView; filter=[[GPUImageBrightnessFilter alloc]init]; [movieFile addTarget:filter]; [filter addTarget:filterView]; [(GPUImageBrightnessFilter *)filter setBrightness:brightValue]; unlink([pathToMovie UTF8String]); // If a file already exists, AVAssetWriter won't let you record new frames, so delete the […]

GPUImageMovie在应用filter时暂停

我使用Brad Larson伟大的图书馆GPUImage为我的应用程序。 目前我陷入了一个问题。 我的应用程序捕捉10秒的video,然后允许filter应用。 在GPUImageMovie应用filters时,我无法暂停播放并应用新的filter以便video将从头开始连续播放。 我在这里看到一个开放的github问题。 如果有人遇到类似的问题,并find解决办法,请张贴您的答案。 提前致谢。

什么是声明`typedef SomeClass <SomeProtocol> MyType`的Swift等价物?

我目前正在写一些主要是Objective-C的项目中的Swift代码。 在我们的ObjC代码中,我们有一个头声明typedef GPUImageOutput<GPUImageInput> MyFilter; 。 然后我们可以声明一个GPUImageOutput ,它只能是实现GPUImageInput的GPUImageOutput子类。 (注意: GPUImageOutput和GPUImageInput不是我自己定义的;它们是GPUImage库的一部分) 我们的Swift代码似乎没有认识到这一点,即使头文件在我们的桥接头文件中是#import。 我试图在Swift中复制这个声明,但是这些都不是正确的语法: typealias MyFilter = GPUImageOutput, GPUImageInput typealias MyFilter = GPUImageOutput : GPUImageInput

使用GPUImage重新创buildiOS 7 Glass效果

我试图通过将图像效果应用于MKMapView的屏幕截图来使用我的玻璃杯中的iOS 7样式玻璃效果。 Apple提供的这个UIImage类别是我用作基线的。 该方法使源图像去饱和,应用色调颜色,并使用input值重度模糊: [image applyBlurWithRadius:10.0 tintColor:[UIColor colorWithRed:229/255.0f green:246/255.0f blue:255/255.0f alpha:0.33] saturationDeltaFactor:0.66 maskImage:nil]; 这产生了我正在寻找的效果,但是时间太长了.5秒之间在iPhone 4上渲染。 我想使用优秀的GPUImage因为我的初步尝试已经快了5-10倍,但我似乎无法做到。 GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:image]; GPUImageSaturationFilter *saturationFilter = [[GPUImageSaturationFilter alloc] init]; saturationFilter.saturation = 0.33; // 1.0 – 0.66; [stillImageSource addTarget:saturationFilter]; GPUImageMonochromeFilter *monochromeFilter = [[GPUImageMonochromeFilter alloc] init]; [monochromeFilter setColor:(GPUVector4){229/255.0f, 246/255.0f, 1.0f, 0.33f}]; [monochromeFilter setIntensity:0.2]; [saturationFilter addTarget:monochromeFilter]; GPUImageFastBlurFilter *blurFilter = […]

使用GPUImageChromaKeyFilter的video在透明GPUImageView中播放时具有色调?

我有一个坚实的绿色背景的video,我试图透明与GPUImageChromaKeyFilter。 当播放器视图有清晰的颜色时,结果是video不是真的透明,而是背景色: 当我将背景更改为白色时,绿色背景消失了,但显然该视图不透明: 我究竟做错了什么? 我的代码是: let movie = GPUImageMovie(URL: url) let filter = GPUImageChromaKeyFilter() filter.setColorToReplaceRed(0, green: 1, blue: 0) movie.addTarget(filter) let playerView = GPUImageView() playerView.backgroundColor = UIColor.clearColor() playerView.setBackgroundColorRed(0, green: 0, blue: 0, alpha: 0) let trinity = (movieFile, filter, playerView) filter.addTarget(playerView) movie.startProcessing() 我存储的电影,filter和视图,以避免ARC释放他们的范围退出时,我将视图添加到正确的超视图,并与自动布局的位置。 我使用的video是一个h264video – https://dl.dropboxusercontent.com/u/1400954/Coin.mp4