CVPixelBufferからUIIMageを取得する際に問題が発生します。CVPixelBufferをUIImageにするには?
CVPixelBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(imageDataSampleBuffer);
CFDictionaryRef attachments = CMCopyDictionaryOfAttachments(kCFAllocatorDefault, imageDataSampleBuffer, kCMAttachmentMode_ShouldPropagate);
CIImage *ciImage = [[CIImage alloc] initWithCVPixelBuffer:pixelBuffer options:(NSDictionary *)attachments];
if (attachments)
CFRelease(attachments);
size_t width = CVPixelBufferGetWidth(pixelBuffer);
size_t height = CVPixelBufferGetHeight(pixelBuffer);
if (width && height) { // test to make sure we have valid dimensions
UIImage *image = [[UIImage alloc] initWithCIImage:ciImage];
UIImageView *lv = [[UIImageView alloc] initWithFrame:self.view.frame];
lv.contentMode = UIViewContentModeScaleAspectFill;
self.lockedView = lv;
[lv release];
self.lockedView.image = image;
[image release];
}
[ciImage release];
height
とwidth
が両方正しくカメラの解像度に設定されています。これは私がしようとしていますものです。 image
が作成されていますが、私はそれが黒(または透明かもしれません)のようです。問題がどこにあるのかよく分かりません。任意のアイデアをいただければ幸いです。
間違いなく、CIImageを間に挿入します。いくつかの中間CIFilterを投げ込むか、CGBitmapContextCreate - > UIImageに行くだけでよいでしょうか? – Tommy
今のところ、私はそれをビューに表示し、私が何を扱っているかを見たいだけです。道を歩いて、私はピクセルで遊んでみたいです。 – mahboudz