मैंने एक एंड्रॉइड एप्लिकेशन लिखा जो कैमरे से लाइव पूर्वावलोकन कैप्चर करता है। शॉर्ट शटर समय होना महत्वपूर्ण है, जो कम से कम स्थिर होना चाहिए।एंड्रॉइड एनडीके कैमरा एक्सेस के साथ शटर समय को कम करने की कोई संभावना?
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" या "एचटीसी विजन") का उपयोग कर रहा हूं।
मैं तस्वीर के किसी भी अनावश्यक संपीड़न से बचने के लिए चाहते हैं। इसलिए पूर्वावलोकन यूयूवी-फ्रेम ठीक हैं। यहां तक कि केवल एक ग्रेस्केल चित्र (वाई-लेयर) ठीक है। मैंने परीक्षण उपकरणों को जड़ दिया है। इसकी एक शोध परियोजना के रूप में, यह आंशिक रूप से ठीक है ... लेकिन अगर मैं रूट पहुंच की आवश्यकता से बच सकता हूं, तो मैं इसे ले जाऊंगा ;-)। - "संशोधित संस्करण" (कस्टम रोम?) द्वारा आपका क्या मतलब है ... एस 2 के साथ कुछ सहयोगी हैं ... शायद एक कोशिश के लायक है। – SDwarfs
हां, लिंक उच्चतम प्रदर्शन के लिए एस 2 के लिए एक कस्टम रोम को इंगित करता है। वैसे भी, एक शोध परियोजना के लिए, मैंने सबसे बहुमुखी/खुले कैमरे वाले डिवाइस की खोज की होगी, जो एचटीसी डिजायर जेड नहीं है। –
ओटीओएच, अगर मैं आप थे, तो मैं ** कैप्चर ** मार्ग को त्यागूंगा नहीं। शायद यह आपके लिए बेहतर परिणाम देगा। हो सकता है कि जब आप 'ले लेंचित्र') 'शटर "* (मैं इसे उद्धरण में डालता हूं क्योंकि यह वास्तविक शटर नहीं है, लेकिन गति धुंध पर कैमरा आईएसपी के विभिन्न कारकों का प्रभाव) * छोटा होगा? आप 30 एफपीएस पर कब्जे वाले चित्र नहीं प्राप्त कर सकते हैं, लेकिन जैसा कि आप अपने एल्गोरिदम को समझाते हैं, एक बार एक बार अपेक्षाकृत तेज छवियां प्राप्त करना ठीक हो सकता है। –