2010-12-07 24 views
7

OnPreviewFrame'i kullanarak, görüntüyü kullanıcıya göstermeden önce işlemek (örneğin renk tonu, sepya vb.) Kullanmak istiyorum. Anladığım kadarıyla, geri çağrıya verilen bayt [] verileri YUV420sp'de kodlanmıştır. İnsanları Java'da RGB'ye veya NDK'yı (yerel kod) kullanarak çözüyor musunuz? Herkesin bunu RGB'ye kodlayan bir işlev örneği ve RGB değerlerinin sonradan nasıl kullanıldığı hakkında bir örnek var mı?Android Kamera ile görüntü işleme

Teşekkürler.

cevap

7

YUV420'yi RGB'ye çeviren ve önizleme görüntüsü üzerinde gerçek zamanlı histogramları (tür) gösteren bir örnek uygulama buldum.

http://www.stanford.edu/class/ee368/Android/index.html

+1

Güzel linki rgb önizleme biçimini ayarlanırsa. Bunu bir Android sanal hedefinde çalıştırıyorum, ancak YUV420-> RGB kod çözme işlemi sadece basit eklemeler/çarpmalara/sıkıştırmalara rağmen GERÇEKTEN yavaştır. Bu hata ayıklama ortamımda beklenen bir şey mi? (Ben tam bir noob! :) – Robert

+0

Evet, bu koddaki uygulama hiç optimize edilmiyor. Gerçek bir uygulamada böyle bir şey yapıyor olsaydım, yerel koddaki bit-twiddling'i uygulardım. – anelson