मैं छवि पहचान के लिए कैमरा पूर्वावलोकन का उपयोग करना चाहता हूं। मेरे उद्देश्यों के लिए, मुझे पूर्वावलोकन संकल्प की आवश्यकता जितनी अधिक हो सके (और साथ ही, उपयोगकर्ता को पूर्वावलोकन प्रदर्शित करें) की आवश्यकता है।720 पी एंड्रॉइड कैमरा पूर्वावलोकन डेटा कैसे प्राप्त करें?
मैं एक पूर्वावलोकन श्रेणी का निर्माण, SurfaceView का विस्तार और 1280x720 को PreviewSize निर्धारित किया है। लेकिन केवल पहले 497,664 बाइट डेटा होते हैं (मिलान -
camera = Camera.open();
parameters = camera.getParameters();
parameters.setPreviewSize(1280,720);
camera.setParameters(parameters);
byte[] b = new byte[camera.getParameters().getPreviewSize().width *
camera.getParameters().getPreviewSize().height *
ImageFormat.getBitsPerPixel(camera.getParameters().getPreviewFormat())/8];
camera.addCallbackBuffer(b);
camera.setPreviewCallbackWithBuffer(new CameraPreviewCallback());
try {
camera.setPreviewDisplay(this.getHolder());
camera.startPreview()
}
मेरे बाइट सरणी ख 1,382,400 बाइट है और मेरी CameraPreviewCallback.onPreviewFrame() फ़ंक्शन प्राप्त करता है उन 1,382,400 बाइट्स: मैं जीना छवि पाने के लिए एक PreviewCallBack जोड़ा 768x432 रिज़ॉल्यूशन (एचटीसी डिजायर))।
मैं 800x480 के प्रदर्शन संकल्प (एचटीसी डिजायर, एलजी ऑप्टिमस 3 डी, सैमसंग गैलेक्सी एस 2, सैमसंग गैलेक्सी टैब , ...) के साथ विभिन्न उपकरणों पर यह परीक्षण किया है, सब। मेरे कोड के लिए काम करने वाला एकमात्र डिवाइस एक एचटीसी डिजायर एचडी है।
किसी को भी कैसे एक बाइट सरणी के रूप में पूर्ण 720p संकल्प प्राप्त करने के लिए पता है? "कुछ" स्मार्टफोन डिस्प्ले फिट करने के लिए पूर्वावलोकन रिज़ॉल्यूशन को कम करने लगता है।
सादर
JOERN
क्या आप वाकई 720p का समर्थन करते हैं? क्या लॉगकैट कुछ भी कहता है (जैसे "संकल्प सेट नहीं कर सकता")? – Lennart
हाँ, 720p सभी उपकरणों पर पूर्वावलोकन आकार के रूप में समर्थित है। लॉगकैट कुछ खास नहीं कहता है - ऐसा लगता है कि "कुछ" पूर्वावलोकन संकल्प को चुपचाप कम कर देता है। –
क्या GetPreviewSize() सही आकार देता है? – Lennart