2017年6月10日 星期六

把景深數據轉換成 PNG 圖像


在 iOS 11 下利用 iPhone 7 Plus 拍攝了數張帶景深數據的相片,很想看看數據呈現的模樣,於是寫了以下程序:
CVPixelBufferRef depthDataMap = depthData.depthDataMap;
CIImage *ciImage = [CIImage imageWithCVPixelBuffer:depthDataMap];
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef imageRef = [context createCGImage:ciImage fromRect:CGRectMake(0, 0, CVPixelBufferGetWidth(depthDataMap), CVPixelBufferGetHeight(depthDataMap))];
UIImage *uiImage = [UIImage imageWithCGImage:imageRef];
NSData *data =  UIImagePNGRepresentation(uiImage);
UIImage *pngImage = [UIImage imageWithData:data];
UIImageWriteToSavedPhotosAlbum(pngImage, nil, nil, nil);
CGImageRelease(imageRef);
白色是近,黑色是遠。


沒有留言: