jjzjj

ios - 如何在 AVCaptureSession 中为视频的每一帧应用过滤器?

我正在编写一个应用程序,它需要对使用AVCaptureSession捕获的视频应用过滤器。过滤后的输出被写入输出文件。我目前使用CIFilter和CIImage来过滤每个视频帧。这是代码:funccaptureOutput(_captureOutput:AVCaptureOutput!,didOutputSampleBuffersampleBuffer:CMSampleBuffer!,fromconnection:AVCaptureConnection!){...letpixelBuffer=CMSampleBufferGetImageBuffer(samples)!letoption

ios - GLKView + CIImage with Alpha + AVFoundation = Trippy Mess

我正在使用AVFoundation从相机捕获信息,将其传递给CIFilter以将较暗的像素替换为alpha级别为0的像素,并将其显示在GLKView上。包含的ViewController是一个GLKViewController,但程序的核心是函数:-(void)captureOutput:(AVCaptureOutput*)captureOutputdidOutputSampleBuffer:(CMSampleBufferRef)sampleBufferfromConnection:(AVCaptureConnection*)connection{@autoreleasepool{CV

ios - objective-C : No Matter what I do CIDetector is always nil

尝试使用Apple的人脸检测API进行简单的概念验证。我看过其他几个例子,包括Apple的SquareCam,还有这个https://github.com/jeroentrappers/FaceDetectionPOC基于这些,我似乎遵循了正确的模式来让API运行,但我被卡住了。无论我做什么,我的面部检测器的CIDetector始终为零!!!我将非常感谢任何帮助、线索-提示-建议!-(void)initCamera{session=[[AVCaptureSessionalloc]init];AVCaptureDevice*device;/*if([selffrontCameraAvai

ios - 为什么图像拉伸(stretch)(UIImage 到 CIImage 到 UIImage)

由于某些原因,我需要将图像从UIImage转换为CIImage(用于处理),然后再转换回UIImage。我是通过UIImage-CGImage-CIImage-UIImage来完成的。忽略无关代码,代码在后面显示。UIImage*originalPic=[[UIImagealloc]init];//getthisfromUIImagePickerControllerCIImage*originalCIPic=[[CIImagealloc]init];originalCIPic=[CIImageimageWithCGImage:originalPic.CGImage];UIImage*f

ios - Objective-C (iOS),使用 CIFilter 调整图像大小会产生无效输出 (UIImage)

我正在尝试在Objective-C(iOS)中调整JPEG图像的大小。输入是一个JPG文件,输出应该是UIImage。我有这个代码://LoadimagefromafileNSData*imageData=[NSDatadataWithContentsOfFile:jpgFile];UIImage*inputImage=[UIImageimageWithData:imageData];CIImage*ciImage=inputImage.CIImage;//SetLanczosfilterCIFilter*scaleFilter=[CIFilterfilterWithName:@"CI

ios - 自更新到 iOS 10.2 后几帧后无法在 GLKView 上绘制 CIImage?

在我的应用程序中使用以下代码,在我使用iOS-didOutputSampleBuffer接收到一次又一次地在GLKView上绘制CIImage时执行得非常好。*将设备更新到iOS10.2.1后,它已停止工作。我调用它的几帧应用程序只是因内存不足警告而崩溃。而在iOS10.1.1及以下版本中,即使在iPhone5S等较旧的设备上,我也能流畅地运行该应用程序。[_glkViewbindDrawable];if(self.eaglContext!=[EAGLContextcurrentContext])[EAGLContextsetCurrentContext:self.eaglContex

ios - 自动增强图像

我需要在我的代码中使用苹果的自动增强图像。我找到了苹果展示的例子,但我无法让它发挥作用。我实际上不确定我做错了什么。这是苹果推荐的:AutoEnhanceCode这是我正在做的(imageFinal是我想要增强的UIImage):-(IBAction)enhance:(id)sender{CIImage*myImage;CIImage*image=[imageFinalCIImage];NSDictionary*options=[NSDictionarydictionaryWithObject:[[imageproperties]valueForKey:kCIImageProperti

ios - 如何创建一个有限的 CIImage?

CIColorMapCIFilter将CIImage作为输入。使用另一个CIFilter(例如CILinearGradient)动态生成该输入图像是有意义的,但是向颜色图过滤器提供过滤器的结果将导致以下错误,例如以下内容:[CIColorMapoutputImage]requirestheinputGradientImagetobefinite即使渐变的起点/终点被指定为CILinearGradient过滤器的输入,图像本身也不是有限的。如何生成有限的CIImage以传递给我的过滤器? 最佳答案 下面是一个示例,说明如何创建固定大小

ios - 将 UIImage 转换为 CIImage 时图像大小加倍

这是我的测试代码:-(void)viewDidLoad{[superviewDidLoad];self.uiImage=[selfimageFromView:self.view];NSLog(@"Test1:uiImage.size=%@",NSStringFromCGSize(self.uiImage.size));self.ciImage=[[CIImagealloc]initWithCGImage:self.uiImage.CGImage];NSLog(@"Test1:ciImage.extent=%@",NSStringFromCGRect(self.ciImage.exten

ios - 通过 CIFilter 传递 UIImage 会产生空白图像

我的应用程序为所选图像添加滤镜。该应用程序的工作原理如下:从图像选择器中选择图像图像作为我的ViewController的ivar加载按下按钮将滤镜添加到图像当我按下按钮添加滤镜时,主ImageView变成全白。但是,当我最初从选取器加载图像时,它显示正常。下面是添加过滤器的代码。-(IBAction)addFilter:(id)sender{if(_imageToFilter){CIImage*newImage=_imageToFilter.CIImage;CIFilter*myFilter=[CIFilterfilterWithName:@"CIColorInvert"keysAn