2017-08-21 18 views
12

मेरा यूनिटी ऐप कई प्रणालियों के लिए कैमरा फ़ीड का उपयोग करता है जो ऐप उपयोग करता है; जैसे वोफोरिया, एआरकिट, और सामान्य कैमरा फ़ीड इनपुट।आईओएस; असमर्थित पिक्सेल प्रारूप

मेरे पास जो मुद्दा है, वह यह है कि इनमें से प्रत्येक एक अलग पिक्सेल प्रारूप का अनुरोध करता है, जो कि एआरकिट के लिए कोई समस्या उत्पन्न करता है। इसके लिए वाईयूवी की आवश्यकता है, और मुझे नहीं पता कि कैसे कैमरे पिक्सेल प्रारूप को मूल रूप से स्विच करना है। इसलिए जब मैं दूसरों के बाद एआरकिट को आजमाता हूं और लॉन्च करता हूं तो मुझे यह त्रुटि मिलती है;

2017-08-21 08:51:38.749452+0100 ar_app[399:105849] [Sensor] Unsupported pixel format: 875704438

2017-08-21 08:51:38.749876+0100 ar_app[399:105849] [Session] Session did fail with error: Error Domain=com.apple.arkit.error Code=104 "Unsupported capture session configuration."

UserInfo={ NSLocalizedRecoverySuggestion=Make sure that the correct device and format are being used for capture.,

NSLocalizedDescription=Unsupported capture session configuration.,

NSLocalizedFailureReason=Input device and/or format of the provided capture session are not supported for the given configuration. }

कम से कम, मुझे लगता है कि यह मुद्दा क्या है; कि यह यूयूवी में प्रारूप नहीं मिल रहा है। कोई भी सहायताकाफी प्रशंसनीय होगी। । धन्यवाद।

उत्तर

2

YUV एक रंगीन जगह है, कई प्रारूप हैं।

ar_app[399:105849] [Sensor] Unsupported pixel format: 875704438

875704438420v (NV12) या kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange करने के लिए अनुवाद:

kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange = '420v' 

तो आप वास्तव में एक YUV पिक्सेल प्रारूप, विशेष रूप से वीडियो श्रृंखला के साथ biplanar है।

The pixel buffer’s contents are encoded in a biplanar YCbCr (also called YUV) data format

हालांकि एकता ARKit प्लगइन didUpdateFrame में kCVPixelFormatType_420YpCbCr8BiPlanarFullRange के लिए एक जांच करता है:

if (CVPixelBufferGetPlaneCount(pixelBuffer) < 2 || CVPixelBufferGetPixelFormatType(pixelBuffer) != kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) { 
     return; 
    } 
निष्कर्ष में

तो

ARKit docs biplanar YUV प्रारूप नहीं बल्कि सीमा के प्रकार का उल्लेख करना यह इस तथ्य को पसंद नहीं कर सकता कि यह पूर्ण सीमा नहीं है, लेकिन मेरे पास इसका परीक्षण करने का कोई आसान तरीका नहीं है। यदि आप कैमरे और अन्य मॉड्यूल इसका समर्थन करते हैं तो शायद आप पूरी रेंज को मजबूर करने का प्रयास कर सकते हैं।

+0

आपकी मदद के लिए धन्यवाद। मैं पूरी रेंज कैसे मजबूर करूं? मैं एक देशी xcode डेवलपर नहीं हूँ। –

+0

@ ओलिवर जोन्स क्षमा करें, मुझे न तो। एआरकेट में सेटिंग का खुलासा नहीं किया जा रहा है। वुफोरिया आपको [YUV] सेट करने देता है (https://library.vuforia.com/articles/Solution/Working-with-the- कैमरे#How-To-Access-the- कैमरा- छवि-in- सम्मान) लेकिन यह ' टी कहता है कि यह किस तरह का वाईयूवी प्रारूप उपयोग करता है। और यह माना जाता है कि अंतर्निहित समस्या यह है कि एआरकेट वास्तव में क्या रिपोर्ट करता है और किसी और चीज का दुष्प्रभाव नहीं (कैमरा डिवाइस जारी नहीं किया गया है, कुछ अन्य बग)। – aergistal

0

सुनिश्चित करें कि .jpg छवियों का अब उपयोग न करें। आईओएस चाहता है कि आप .png छवियों का उपयोग करें। स्विफ्ट 4 और एक्सकोड 9 बीटा में मुझे एक ही चेतावनी/त्रुटि थी।

+0

मैं यह कैसे कर सकता हूं? यह देशी एआरकिट को बुला रहा है। –

संबंधित मुद्दे