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