【发布时间】:2015-02-11 08:25:29
【问题描述】:
我在使用 GPUImage 时遇到以下问题:
首先,我在相机上添加了一个灰度滤镜,然后我使用GPUImageAverageColor 来获得平均颜色。问题是我通过块得到的颜色不在灰度范围内。我做错了什么?
这是代码:
GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
GPUImageView *filterView = (GPUImageView *)self.cameraLayer;
[filterView setFillMode:kGPUImageFillModePreserveAspectRatioAndFill];
GPUImageGrayscaleFilter *grayscaleFilter = [[GPUImageGrayscaleFilter alloc] init];
[videoCamera addTarget:grayscaleFilter];
[grayscaleFilter addTarget:filterView];
GPUImageAverageColor *averageColor = [[GPUImageAverageColor alloc] init];
[averageColor setColorAverageProcessingFinishedBlock:^(CGFloat redComponent, CGFloat greenComponent, CGFloat blueComponent, CGFloat alphaComponent, CMTime frameTime){
NSLog(@"Red: %f, green: %f, blue: %f, alpha: %f", redComponent, greenComponent, blueComponent, alphaComponent);
}];
[videoCamera addTarget:averageColor];
[videoCamera startCameraCapture];
【问题讨论】:
-
尝试使用该摄像机进行定位-> averageColor-> grayscaleFilter-> filterView
标签: ios objective-c iphone gpuimage