什麼是最好的方式來構建AVDepthData的應用程序沒有擁有iPhone 7 +?獲取媒體與AVDepthData沒有iPhone 7+
深度數據只能在具有雙鏡頭相機的iPhone 7+上捕捉。但我想任何iOS11設備都可以處理深度數據,只要它能夠訪問包含它的照片即可。我無法從Apple或其他在線人士那裏找到任何此類媒體資源。有人有一些?或者,還有更好的方法?
我試過看看iPhone 7+模擬器庫,但模擬器崩潰,因爲它不支持深度演示應用程序正在使用的金屬。
什麼是最好的方式來構建AVDepthData的應用程序沒有擁有iPhone 7 +?獲取媒體與AVDepthData沒有iPhone 7+
深度數據只能在具有雙鏡頭相機的iPhone 7+上捕捉。但我想任何iOS11設備都可以處理深度數據,只要它能夠訪問包含它的照片即可。我無法從Apple或其他在線人士那裏找到任何此類媒體資源。有人有一些?或者,還有更好的方法?
我試過看看iPhone 7+模擬器庫,但模擬器崩潰,因爲它不支持深度演示應用程序正在使用的金屬。
你將需要有人(如我),它有一個iPhone 7 +與iOS 11的發送給你的圖像。
訪問iOS上11這個鏈接與Safari和挖掘more...
- >Save Image
http://hellocamera.co/img/depth-photo.heic
注:我從這個圖像刪除的GPS數據。
我想你可以在任何iOS設備上處理照片的深度數據。所有你需要的是iPhone 7+拍攝的照片樣本。 Here是其中的幾個。
的製品是從2016即iOS10,所以我懷疑深度數據已經存在於導出的照片。但我會確認 – Guig
你有沒有找到任何東西,@Guig? – triiiiista
雖然是非trival任務,但可以生成AVDepthData並將其添加到您自己的圖像中。
CGImageSource.h
CGImageSourceCopyAuxiliaryDataInfoAtIndex
- 但是,以下是詳細信息:主要kCGImageAuxiliaryDataInfoData
- (CFDataRef
) - 深度數據
只包含二進制像素緩衝區。就像它是通過讀取CVPixelBufferLockBaseAddress中的指針一樣從像素緩衝區中拉出的數據。創建CVPixelBuffer受支持的類型中的一個的格式:
要開啓的任意灰度圖像爲假深度緩衝器,你」您需要根據您的目標格式,將任何灰度像素值(0 =黑色到1 =白色,z接近zFar等)轉換爲米或1 /米。根據你從哪裏得到它們,讓它們進入正確的浮點格式。
主要kCGImageAuxiliaryDataInfoDataDescription
- (CFDictionary
) - 深度數據描述
告訴您如何解讀該緩衝區的一個,我們給你,或者告訴我們如何解釋一個緩衝你給我們:
主要kCGImageAuxiliaryDataInfoMetadata
- (CGImageMetadataRef
) - 元數據
此值是可選的。
創建使用ImageI/O的圖像:
// create the image destination (not shown)
// add an image to the destination
CGImageDestinationAddImage(cgImageDestination, renderedCGImage, attachments)
// Use AVDepthData to get auxiliary data dictionary
VAR auxDataType:的NSString?
讓AUXDATA = depthData.dictionaryRepresentation(forAuxiliaryDataType:& auxDataType)
// Add auxiliary data to image destination
CGImageDestinationAddAuxiliaryDataInfo(cgImageDestination, auxDataType!, auxData! as CFDictionary)
if CGImageDestinationFinalize(cgImageDestination) {
return data as Data
}
非常好,謝謝! – Guig