我正在嘗試使用可可從網絡攝像頭獲取圖像。我能夠使用QTKit和didOutputVideoFrame委託調用以RGBA格式獲取圖像,並將CVImageBuffer轉換爲CIImage,然後轉換爲NSBitmapImageRep。我知道我的相機在YUV本地抓取,我想要的是直接從CVImageBuffer獲取YUV數據,並在顯示YUV幀之前進行處理。如何從CVImageBuffer對象中獲取原始數據
我的問題是:如何從CVImageBuffer獲取YUV數據?
謝謝。
我正在嘗試使用可可從網絡攝像頭獲取圖像。我能夠使用QTKit和didOutputVideoFrame委託調用以RGBA格式獲取圖像,並將CVImageBuffer轉換爲CIImage,然後轉換爲NSBitmapImageRep。我知道我的相機在YUV本地抓取,我想要的是直接從CVImageBuffer獲取YUV數據,並在顯示YUV幀之前進行處理。如何從CVImageBuffer對象中獲取原始數據
我的問題是:如何從CVImageBuffer獲取YUV數據?
謝謝。
您可以使用+[CIImage imageWithCVBuffer:]
從緩衝區創建CIImage
,然後將該CIImage渲染爲所需像素格式的CGBitmapContext
。
請注意,我沒有測試過這個解決方案。
我問什麼,我認爲是一個不同的問題,但它竟然具有相同的答案,因爲這一個:raw data from CVImageBuffer without rendering?
我會盡力了這一點... – jslap 2010-05-14 23:56:50
CIImage可以直接搶CVBuffer。甚至不需要鎖定基地址 – 2015-01-11 14:54:35
@Barry Wark有什麼建議? http://stackoverflow.com/questions/37611593/how-to-create-cvpixelbufferref-with-nv12-data – 2016-06-07 12:30:58