我開始使用openCV和JavaCV,並嘗試檢測圖像上的形狀。我想檢測圈子。我有一個圖像作爲位圖(只有這樣)。我讀過,首先我需要把我的圖像作爲IplImage,然後將其轉換爲灰度並平滑邊緣。好了,我開始做這樣的事情:因爲第一我的形象是作爲位圖我創建的IplImage的對象(我應該指出,一切都在按下按鈕後happing):Android上的OpenCV和JavaCv - 在圖像上檢測形狀
IplImage image = new IplImage();
然後我轉換我的位圖的IplImage:
bitmap.copyPixelsToBuffer(image.getByteBuffer());
,我應該知道讓其他想,但我不能,因爲按下按鈕後,應用程序在第一行崩潰:IplImage image = new IplImage();
我嘗試使用其他構造,如:IplImage image = new IplImage(size);
但它也沒有工作。如果有人可以幫助我,我應該怎麼做(我的意思是創建IplImage並將位圖轉換爲IplImage),我將非常感激。
---編輯---- 我再次嘗試。現在我不使用Project-> properties-> Java Built Path - > ...添加jar,但是我在'lib'文件夾中設置了jar。但是當我創建IplImage類的對象時,仍然一切都崩潰了。有人知道爲什麼嗎?在我的lib文件夾中,我有:android-support-v4.jar,javacpp.jar,javacv.jar,opencv庫 - 2.4.3.jar。 我Activity類:
import com.googlecode.javacv.cpp.opencv_core.IplImage;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IplImage image = new IplImage();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
} 而當我開始我的活動它的崩潰和日誌:
02-09 12:18:59.207: E/AndroidRuntime(7652): Caused by: java.lang.UnsatisfiedLinkError: Library jniopencv_core not found
02-09 12:18:59.207: E/AndroidRuntime(7652): at java.lang.Runtime.loadLibrary(Runtime.java:461)
02-09 12:18:59.207: E/AndroidRuntime(7652): at java.lang.System.loadLibrary(System.java:557)
02-09 12:18:59.207: E/AndroidRuntime(7652): at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:448)
02-09 12:18:59.207: E/AndroidRuntime(7652): at com.googlecode.javacpp.Loader.load(Loader.java:372)
02-09 12:18:59.207: E/AndroidRuntime(7652): at com.googlecode.javacpp.Loader.load(Loader.java:319)
02-09 12:18:59.207: E/AndroidRuntime(7652): at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136)
02-09 12:18:59.207: E/AndroidRuntime(7652): ... 19 more
我可以提到,如果我試圖定義Imgproc img = new Imgproc();
一切正常。也許我可以使用Imgproc檢測形狀(圓圈),有人可以推薦一個好的教程嗎?
什麼是你所得到的例外呢?你能粘貼LogCat輸出嗎? – iTech 2013-02-08 22:38:11