5
Bardzo podobne to answer, z wyjątkiem tego, że chcę wygenerować histogram dla nieruchomego obrazu.GPUImageHistogramFilter dla nieruchomego obrazu podającego dane zerowe
Poniżej przedstawiam, co robię, i daje histogram ze wszystkimi danymi 0. Czy jest jakaś sztuczka, aby to zadziałało?
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];
Jakiś szczególny powód, dla którego autoreleasingujesz obiekt '' 'GPUImagePicture * original'''? Jest możliwe, że zostanie zwolniony na końcu metody. –
@Andrew Theis Myślę, że GPUImage jest biblioteką inną niż ARC – aug2uag
@ aug2uag GPUImage jest kompatybilny z ARC – Andrea