2016-04-13 22 views
0

Uygulamamdaki iPhone kamerayla oynuyorum, ancak yeniden odaklamanın zamanlaması üzerinde manuel denetim gerçekleştirmenin bir yolunu bulamadım. Uygulamamda, en iyi ayarlanmış görüntü çıktısını sağlamayı umuyoruz. Bu nedenle, çekim yapmadan önce zorunlu bir yeniden odaklama gerekiyor. Daha spesifik olarak, kameranın kullanıcının bir düğmeye basması sonrasında tekrar odaklanmasını istiyorum, ardından tekrar odaklama tamamlandığında bir çekim yapın. Bunu gerçekleştirmenin en iyi yolu ne olurdu? Still and Video Media CaptureFotoğraf makinesini yeniden odaklamak için IOS'da nasıl zorlanır (objC kodunda)

üç odak modu vardır:

  • AVCaptureFocusModeContinuousAutoFocus
    • AVCaptureFocusModeAutoFocus AVCaptureFocusModeLocked Ve odak modunu ayarlamak için nasıl aynı kodu

    +0

    Olası kopyası [Fotoğraf, iPhone SDK'da otomatik olarak nasıl odaklanır?] (Http://stackoverflow.com/questions/11423538/how-to-take-a-photo-automatically-at- focus-in-iphone-sdk) – dandan78

    +0

    Yeterince açık yapmadığım için üzgünüm. Hedefim, tam olarak istediğim zaman yeniden odaklanmaktır; bu modun ayarlanması, çekilen her çekimden önce yeniden odaklanmasını garanti etmez. Bu soru farklı bir şeyi çözdü (ki ben de aradım ama bu yazıya değil). Bu kod, çekildikten sonra ve sadece yeniden odaklandıktan sonra alınacağını garanti eder, ancak ilk etapta yeniden odaklanmayı hiçbir şey yapmaz. –

    cevap

    0

    bir buraya göz atın:

    if ([currentDevice isFocusModeSupported:AVCaptureFocusModeContinuousAutoFocus]) { 
        CGPoint autofocusPoint = CGPointMake(0.5f, 0.5f); 
        [currentDevice setFocusPointOfInterest:autofocusPoint]; 
        [currentDevice setFocusMode:AVCaptureFocusModeContinuousAutoFocus]; 
    } 
    
    +1

    Ne yazık ki, sürekli otomatik netleme modu, bazı durumlarda, örneğin odağın yavaşça odak dışı kalması gibi, en uygun yeniden odaklamayı garanti etmez. Birkaç saniye sonra yeniden odaklanarak bunu görmeye çalışır, ancak bu her zaman yardımcı olmaz. Şu anki çözümüm, bir odaklamayı tetiklemek için autoFocus ve continousAutoFocus arasında geçiş yapmaktır. Her ne kadar zarif olmasa da, sürekli olarak odağımdan yavaşça hareket edebilen mikroskobik görüntülerin tam reso çekimlerini çektiğim uygulamam için çalışıyor. –

    İlgili konular