kev*_*kev 5 image-processing objective-c ios gpuimage
这个答案非常相似,除了我想为静止图像生成直方图.
下面是我正在做的,它给出了所有0数据的直方图.让这个工作有一些技巧吗?
GPUImageFilter *filter = [[GPUImageHistogramFilter alloc] initWithHistogramType:kGPUImageHistogramRGB];
GPUImagePicture *original = [[[GPUImagePicture alloc] initWithImage:image] autorelease];
GPUImageGammaFilter *gammaFilter = [[GPUImageGammaFilter alloc] init];
[original addTarget:gammaFilter];
[gammaFilter addTarget:filter];
GPUImageHistogramGenerator *histogramGraph = [[GPUImageHistogramGenerator alloc] init];
[histogramGraph forceProcessingAtSize:CGSizeMake(256.0, 330.0)];
[filter addTarget:histogramGraph];
GPUImageAlphaBlendFilter *blendFilter = [[GPUImageAlphaBlendFilter alloc] init];
blendFilter.mix = 0.75;
[blendFilter forceProcessingAtSize:CGSizeMake(256.0, 330.0)];
[original addTarget:blendFilter];
[histogramGraph addTarget:blendFilter];
[blendFilter addTarget:gpuImageView];
[original processImage];
Run Code Online (Sandbox Code Playgroud)
Brad 在上一个版本中更改了 GPUImage 的一些内部机制,以改进内存管理(确实如此),现在您应该告诉过滤器保留静态图像的帧-useNextFrameForImageCapture。
UIImage *inputImage = [UIImage imageNamed:@"Lambeau.jpg"];
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:inputImage];
GPUImageSepiaFilter *stillImageFilter = [[GPUImageSepiaFilter alloc] init];
[stillImageSource addTarget:stillImageFilter];
[stillImageFilter useNextFrameForImageCapture]
[stillImageSource processImage];
UIImage *currentFilteredVideoFrame = [stillImageFilter imageFromCurrentFramebuffer];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
649 次 |
| 最近记录: |