2017-10-10 59 views
6

Sahnenin fotoğrafını çekmek istediğimiz bir ARKit uygulaması yapıyorum. ARCamera görüntü kalitesinin bir iPad Pro ile fotoğraf çekmek için yeterince iyi olmadığını buluyorum.ARKit'te fotoğraf makinesi kalitesi nasıl iyileştirilir

Standart kamera görüntüsü: Standard camera image

ARCamera resim: Bu iPad Pro 10.5 spesifik olabilir bahseder ve sabit mercek pozisyon ile ilgili olduğu bir Apple forumu gönderiyi görmüş ARCamera image

(https://forums.developer.apple.com/message/262950#262950).

Bu ayarı değiştirmenin genel yolu var mı?

Alternatif olarak, fotoğraf çekilir noktada yüksek çözünürlüklü görüntü için bir bulanık görüntü geçmek için normal bir fotoğraf çekmek ve sceneView.scene.background.contents uygulamak için AVCaptureSession kullanmaya çalıştık ama AVCapturePhotoOutput Arkit

ile çalışmak için alınamıyor
+0

Bir çözüm buldunuz mu? Ben ARFaceTracking oturumu ile iPhone X üzerinde True-Derinlik ön kamera ile aynı sorun yaşıyorum, ben oturumu hala yüksek görüntü çıkarmak yüksek bir almak istiyorum. Normal bir AVCaptureSession'a geçebildiniz mi? Anahtar arasındaki durak nedir? Buradaki seçenekleri bilmek istersiniz ... –

cevap

7

Güncelleme Tarihi:feature requests! IOS 11.3'te ("ARKit 1.5"), yakalama ayarlarının en azından bir kısmını kontrol edebilirsiniz. Artık varsayılan olarak otomatik netleme özelliği ile 1080p elde edersiniz.

Her biri bir çözünürlük ve kare hızı tanımlayan ARConfiguration.VideoFormat nesnelerinin bir listesi için ARWorldTrackingConfiguration.supportedVideoFormats öğelerini kontrol edin. Listede birincisi, geçerli cihazınızda desteklenen varsayılan (ve en iyi) seçeneğidir, bu yüzden sadece en iyi çözünürlük/çerçeve hızını istiyorsanız, hiçbir şey yapmanız gerekmez. (Ve performans nedenleriyle videoFormat'u ayarlayarak adım atmak istiyorsanız, muhtemelen kodlama boyutlarından ziyade dizi sırasına göre bunu yapmak daha iyidir.)

Otomatik odaklama, iOS 11.3'te varsayılan olarak açıktır; Kameraya nispeten yakın bir konu) çok daha iyi çıkmalı. Herhangi bir nedenle, there's a switch for that'u kapatmanız gerekiyorsa.


ARKit tarafından kullanılan temel yakalama oturumu için kamera ayarlarını değiştirmek için hala bir API yok.

WWDC'de mühendislere göre, ARKit CPU ve GPU kullanımı üzerinde minimum etkiyle yüksek bir kare hızı sağlamak için sınırlı bir kamera yakalama özellikleri alt kümesi kullanmaktadır. Daha yüksek kaliteli canlı video üretmek için bazı işleme yükü var, ancak ARKit'in çalışmasını sağlayan bilgisayar görsellik ve hareket sensörü entegrasyon sistemlerine yönelik bir takım işlem yükü de var - aşırı yükü artırın ve gecikme eklemeye başlıyorsunuz. Ve kullanıcılarına, dünyalarının "canlı" birleştirilmiş görünümünü göstermeleri gereken bir teknoloji için, "artırılmış" bölümün kamera hareketini birden çok kare ile geciktirmesini istemezsiniz. (Ayrıca, tüm bunların üstünde, muhtemelen, uygulamanızın görünümünün üzerinde etkileyici 3D içerik oluşturması için bazı CPU/GPU sürelerini istediğiniz gibi bırakabilirsiniz.)

Durum iPhone ve iPad cihazları arasında aynıdır, ancak ekranın çok daha büyük olması nedeniyle iPad'de daha fazla dikkat çektiniz - 720p video 4-5 inçlik bir ekranda çok kötü görünmüyor, ancak 10-13 inçlik bir ekranı doldurmak için korkunç bir şekilde görünüyor. (Neyse ki daha iyi görünmesi gereken iOS 11.3'te 1080p elde edersiniz.)

AVCapture sistemi video yakalama sırasında daha yüksek çözünürlük/daha yüksek fotoğraflar çekmeyi sağlar, ancak ARKit dahili yakalama oturumunu Herhangi bir şekilde, bu yüzden AVCapturePhotoOutput kullanamazsınız.(Bir oturum sırasında yüksek özünürlüklü fotoğrafların çekilmesi muhtemelen iyi durumdadır. feature request.)

+0

Teşekkürler rickster. Bir özellik isteğini yerine koyacağım ama görüntüyü yakalamak ve sahne arka planını değiştirmek için kamerayı nasıl kullanabileceğime bakmaya devam edeceğim –

+0

@EdwardFord Bu sorun için herhangi bir çözüm bulmayı başardınız mı? –

+0

Henüz yapmadım ama Apple, görüntü çözünürlüğünde yapılan iyileştirmelerle yeni bir sürümü daha duyurdu https://developer.apple.com/news/?id=01242018b –