मैं एक एंड्रॉइड एप्लिकेशन बनाने की कोशिश कर रहा हूं जो वास्तविक समय में कैमरा फ्रेम को संसाधित करेगा। शुरू करने के लिए, मैं बस कैमरे को देखता है कि एक ग्रेस्केल संस्करण प्रदर्शित करना चाहता हूँ। मैंने onPreviewFrame
विधि में बाइट सरणी से उचित मान निकालने में कामयाब रहा है।रीयल टाइम में एंड्रॉइड कैमरा फ्रेम प्रोसेसिंग
byte[] pic;
int pic_size;
Bitmap picframe;
public void onPreviewFrame(byte[] frame, Camera c)
{
pic_size = mCamera.getParameters().getPreviewSize().height * mCamera.getParameters().getPreviewSize().width;
pic = new byte[pic_size];
for(int i = 0; i < pic_size; i++)
{
pic[i] = frame[i];
}
picframe = BitmapFactory.decodeByteArray(pic, 0, pic_size);
}
byte[]
फ्रेम सरणी के पहले [width*height]
मूल्यों luminance (ग्रेस्केल) मान हैं: नीचे बस अपना कोड का एक टुकड़ा है। एक बार जब मैंने उन्हें निकाला है, तो मैं उन्हें स्क्रीन पर एक छवि के रूप में कैसे प्रदर्शित करूं? यह 2 डी सरणी भी नहीं है, तो मैं चौड़ाई और ऊंचाई कैसे निर्दिष्ट करूं?
क्या यह वाईयूवी छवि को मध्यस्थ जेपीईजी के साथ बिटमैप में परिवर्तित करने के लिए होता है? मुश्किल से एक व्यवहार्य वास्तविक समय समाधान – Rekin
मैं दृढ़ता से इसके खिलाफ सलाह दूंगा। एंड्रॉइड पर ओपनसीवी परियोजना में जटिलता जोड़ देगा और देशी पुस्तकालयों की भी आवश्यकता होगी जो लगभग 10 एमबी आकार में हैं। एंड्रॉइड के पास ओपी की आवश्यकता को पूरा करने के लिए सभी सुविधाएं हैं। ओपनसीवी एक महान पुस्तकालय है, लेकिन इस स्थिति के लिए अधिक है। – protectedmember