2012-11-30 20 views
6

मैं एसडीकार्ड छवियों को एंड्रॉइड में वीडियो में कनवर्ट करना चाहता हूं। कई खोजों के बाद मुझे पता चला कि यह javacv में संभव है। जब मैं शुद्ध जावा में सरल जावैकव नमूना आज़माता हूं, तो यह पूरी तरह से मेरे ग्रहण में काम करता है। लेकिन जब मैं एंड्रॉइड में बदल जाता हूं, वही नमूना android.i में नहीं चलता है और सभी .jar फ़ाइलों और .so फ़ाइलों को myproject-> libs/armeabi folder.my प्रोजेक्ट में कोई त्रुटि नहीं दिखाता है। लेकिन रनटाइम के दौरान त्रुटि हुई।javacv का उपयोग कर एंड्रॉइड में छवियों को वीडियो में कैसे परिवर्तित करें?

मैं इस वर्ग के साथ की कोशिश,

package com.example.ndkfoo_sample; 

import static com.googlecode.javacv.cpp.opencv_core.cvReleaseImage; 
import static com.googlecode.javacv.cpp.opencv_highgui.cvLoadImage; 
import static com.googlecode.javacv.cpp.opencv_highgui.cvShowImage; 
import static com.googlecode.javacv.cpp.opencv_highgui.cvWaitKey; 
import static com.googlecode.javacv.cpp.opencv_imgproc.CV_GAUSSIAN; 
import static com.googlecode.javacv.cpp.opencv_imgproc.cvSmooth; 

import com.googlecode.javacv.cpp.opencv_core.IplImage; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 

public class MainActivity extends Activity { 

// @Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
IplImage img=cvLoadImage("helloworld.jpg"); 

    cvShowImage("/mnt/sdcard/helloworld",img); 
    cvSmooth(img,img,CV_GAUSSIAN,13); 
    cvShowImage("Blur-Image",img); 
    cvWaitKey(); 
    cvReleaseImage(img); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 
} 

मेरे त्रुटि, के रूप में की तरह है

opencv error unspecified error. 

मेरे सवाल यह है कि वहाँ android.is कोई कदम या ट्यूटोरियल में opencv/javacv एकीकृत करने के लिए है।?

धन्यवाद,

+0

त्रुटि क्या है? – Osiris

+0

क्या आप कृपया अधिक मार्गदर्शन के लिए कोड डाल सकते हैं क्योंकि मुझे एक ही समस्या है। – jack

+0

क्या आप कृपया मुझे जारैक के लिए अपनी परियोजना में इस्तेमाल किए गए जार सूचीबद्ध कर सकते हैं? मैं एंड्रॉइड स्टूडियो का उपयोग कर रहा हूं इसलिए सबकुछ मेरे लिए नया है। – San

उत्तर

8

निम्नलिखित लाइनों का प्रयोग करें।

**

opencv_core.IplImage img = cvLoadImage("/sdcard/folder/img1.jpg"); 
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("/sdcard/folder/test.mpeg",200,150); 

    try { 
     recorder.setCodecID(CODEC_ID_MPEG1VIDEO); 
     recorder.setFrameRate(30); 
     recorder.setPixelFormat( PIX_FMT_YUV420P); 
     recorder.start(); 

     for (int i=0;i<100;i++) 
     { 
      recorder.record(image[x]); 
     } 
     recorder.stop(); 
    } 
    catch (Exception e){ 
     e.printStackTrace(); 
    } 

** यह javacv पुस्तकालय द्वारा समर्थित है। अधिक जानकारी के लिए Javacv Readme.txt फ़ाइल पढ़ें। आशा है कि यह आपकी मदद करेगा।

+0

क्या आपको हरे रंग के बिना छवियों से वीडियो मिला? – rams

+0

नहीं .. मुझे सही वीडियो नहीं मिला है .. – itsrajesh4uguys

+1

हाय ने आपके उत्तर की कोशिश की। मुझे इस लाइन में त्रुटि मिल रही है, recorder.setCodecID (CODEC_ID_MPEG1VIDEO); त्रुटि: CODEC_ID_MPEG1VIDEO को एक चर के लिए हल नहीं किया जा सकता है। – rams