2012-09-18 9 views
6

मैंने एक एंड्रॉइड एप्लिकेशन लिखा जो कैमरे से लाइव पूर्वावलोकन कैप्चर करता है। शॉर्ट शटर समय होना महत्वपूर्ण है, जो कम से कम स्थिर होना चाहिए।एंड्रॉइड एनडीके कैमरा एक्सेस के साथ शटर समय को कम करने की कोई संभावना?

Parameters params = camera.getParameters(); 
params.setSceneMode(Parameters.SCENE_MODE_SPORTS); 
params.setWhiteBalance(Parameters.WHITE_BALANCE_DAYLIGHT); 
params.setFlashMode(Parameters.FLASH_MODE_OFF); 
params.setFocusMode(Parameters.FOCUS_MODE_INFINITY); 

params.setPreviewFpsRange(9000, 29453); 
params.setPreviewFrameRate(29453); 
params.setJpegQuality(100); 
params.setPreviewFormat(ImageFormat.NV21); 

params.setPreviewSize(1280,720); 
params.setAntibanding(Parameters.ANTIBANDING_OFF); 
params.setExposureCompensation(params.getMinExposureCompensation()); 
params.set("iso", 1250); 
camera.setParameters(params); 

setSceneMode() लगता है मेरे फोन फर्मवेयर पर समर्थित होने की नहीं (getSupportedSceneModes एक खाली सूची देता है):

वर्तमान में मैं एक कम शटर समय प्राप्त करने के लिए निम्न कोड का उपयोग करें। "आईएसओ" -सेटिंग के पास संभवतः कोई प्रभाव नहीं है (चित्र को नहीं देखा है, अभी तक फ्रेम दर की गणना की गई है)। बस यह कोड कहीं और पाया और इसका इस्तेमाल किया ... शायद यह सिर्फ गलत स्ट्रिंग है?

क्या अब तक होता है: 9 और 29,453 एफपीएस है, जो केवल समर्थित फ्रेम दर रेंज है के बीच फ्रेम दर बदल जाता है। तो params.setPreviewFpsRange(29453, 29453); या तो काम नहीं करता है। फ्रेम दर मध्यम/कम रोशनी के लिए (20-30 एफपीएस) उच्च अच्छा प्रकाश की स्थिति में है (सामान्य दिन, घर के अंदर, खिड़की करने के लिए निर्देशित) और हो जाता है बहुत कम (8-10 एफपीएस) (दिन के उजाले, घर के अंदर, खिड़की से दूर प्रत्यक्ष) शर्तेँ।

अधिक विस्तार से: मुझे उच्च फ्रेम दर की आवश्यकता नहीं है, लेकिन कम शटर समय की आवश्यकता नहीं है। एकत्रित डेटा का उपयोग इनडोर नेविगेशन (या: पहले चरण में इंडोर लोकलाइजेशन) के लिए किया जाएगा। एप्लिकेशन को आम तौर पर चलने की आवश्यकता होती है, जबकि व्यक्ति सामान्य रूप से चल रहा है, इस बारे में परवाह किए बिना कि वह फ़ोन कैसे ले रहा है। व्यक्ति फोन भी चला रहा है या "स्विंग" कर सकता है (जैसा कि आप चलते समय सामान्य रूप से अपनी बाहों को ले जाते हैं)। इसलिए आमतौर पर बहुत अधिक "मोशन ब्लर" होता है, जैसे ही शटर समय बहुत लंबा होता है। स्थिति "मैं एक फोटो बनाना चाहता हूं" परिस्थितियों से काफी अलग है, जहां तस्वीर कैमरे को स्थिर रखने की कोशिश करती है। हम वास्तव में "अच्छी तस्वीरें" प्राप्त नहीं करना चाहते हैं, लेकिन समय-समय पर दीवारों के कुछ किनारों का पता लगाना चाहते हैं। मैं 'शोर' चित्र में का एक बहुत उम्मीद है, लेकिन इस उम्मीद है कि वैसे भी काम कर रहा है ...

आइडिया है, वहाँ संभवतः संभावना NDK का उपयोग कर कैमरा मानकों पर अधिक नियंत्रण प्राप्त करने के लिए कर रहे हैं कि। क्या किसी ने एनडीके के साथ अनुभव किया है और मुझे जवाब दे सकता है कि यह कोशिश करने लायक है?

अतिरिक्त जानकारी: मैं परीक्षण डिवाइस के रूप में एक एचटीसी डिजायर जेड ("टी-मोबाइल जी 2" या "एचटीसी विजन") का उपयोग कर रहा हूं।

उत्तर

5

संक्षिप्त उत्तर है "नहीं"। लंबा उत्तर एक प्रश्न के साथ शुरू होता है: आपका ऐप कैप्चर की परवाह नहीं करता है, लेकिन केवल यूयूवी पूर्वावलोकन फ्रेम का उपयोग करता है, क्या यह सही है?

के रूप में एक मानक कोई रूट पहुँच के साथ एप्लिकेशन डाउनलोड किया है, तो आप कैमरा (या अन्य) सीधे डिवाइस का उपयोग करने की अनुमति न हो। आप केवल कैमरा व्यवहार को प्रभावित करने के setParameters() एपीआई है, और इस तरह आप के लिए क्या कैमरा कार्यक्षमता इस एपीआई के माध्यम से सामने आ रहा है के रूप में OEM की दया पर पूरी तरह से कर रहे हैं।

यहां तक ​​कि एक निहित डिवाइस पर

, अपनी क्षमताओं को सीमित हैं, लेकिन अब डिवाइस ड्राइवर और विशिष्ट कैमरा आईएसपी की ऐनक से।

दोनों मामलों में, आपको लक्ष्य डिवाइस को बहुत सावधानीपूर्वक चुनना शुरू करना चाहिए। मेरा मानना ​​है कि कुछ एंड्रॉइड फोन एचटीसी विजन की तुलना में अधिक कैमरा नियंत्रण की अनुमति देते हैं। उदाहरण के लिए, सैमसंग एस 2 http://pfittech.com/rom_pfittech_jb.html का एक संशोधित संस्करण 1080p पर स्थिर 25 एफपीएस का दावा करता है।

+0

मैं तस्वीर के किसी भी अनावश्यक संपीड़न से बचने के लिए चाहते हैं। इसलिए पूर्वावलोकन यूयूवी-फ्रेम ठीक हैं। यहां तक ​​कि केवल एक ग्रेस्केल चित्र (वाई-लेयर) ठीक है। मैंने परीक्षण उपकरणों को जड़ दिया है। इसकी एक शोध परियोजना के रूप में, यह आंशिक रूप से ठीक है ... लेकिन अगर मैं रूट पहुंच की आवश्यकता से बच सकता हूं, तो मैं इसे ले जाऊंगा ;-)। - "संशोधित संस्करण" (कस्टम रोम?) द्वारा आपका क्या मतलब है ... एस 2 के साथ कुछ सहयोगी हैं ... शायद एक कोशिश के लायक है। – SDwarfs

+0

हां, लिंक उच्चतम प्रदर्शन के लिए एस 2 के लिए एक कस्टम रोम को इंगित करता है। वैसे भी, एक शोध परियोजना के लिए, मैंने सबसे बहुमुखी/खुले कैमरे वाले डिवाइस की खोज की होगी, जो एचटीसी डिजायर जेड नहीं है। –

+0

ओटीओएच, अगर मैं आप थे, तो मैं ** कैप्चर ** मार्ग को त्यागूंगा नहीं। शायद यह आपके लिए बेहतर परिणाम देगा। हो सकता है कि जब आप 'ले लेंचित्र') 'शटर "* (मैं इसे उद्धरण में डालता हूं क्योंकि यह वास्तविक शटर नहीं है, लेकिन गति धुंध पर कैमरा आईएसपी के विभिन्न कारकों का प्रभाव) * छोटा होगा? आप 30 एफपीएस पर कब्जे वाले चित्र नहीं प्राप्त कर सकते हैं, लेकिन जैसा कि आप अपने एल्गोरिदम को समझाते हैं, एक बार एक बार अपेक्षाकृत तेज छवियां प्राप्त करना ठीक हो सकता है। –

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