Исключение нулевого указателя в SIFT Feature Detector в OpenCV для Android

* извините, если мой английский плохой -.-"

Привет,

Я студент и имею небольшой опыт работы с OpenCV или Java. Я пытаюсь сделать программу, которая может сшивать два изображения в одну панораму, используя SIFT и RANSAC. Я также скачал версию OpenCV Library 2.4.6.

Но когда я запускаю свою программу, я получаю исключение Null Pointer в:

    sift1.detect(imgA, keypoint1);

Вот часть моей программы:

    fileA = getIntent().getStringExtra("fileA");
    fileB = getIntent().getStringExtra("fileB");

    imgA = Highgui.imread(fileA);
    Log.i("IMREAD", fileA+" berhasil");
    imgB = Highgui.imread(fileB);
    Log.i("IMREAD", fileB+" berhasil");

    FeatureDetector sift1 = FeatureDetector.create(3);
    sift1.detect(imgA, keypoint1);
    Log.d("keypoint", "jumlah keypoint 1 = " + keypoint1.size());

    FeatureDetector sift2 = FeatureDetector.create(3);
    sift2.detect(imgB, keypoint2);
    Log.d("keypoint", "jumlah keypoint 2 = " + keypoint2.size());

Спасибо:)

2 ответа

Попробуй это:

MatOfDMatch  matches = new MatOfDMatch();
sift1.detect(imgA, keypoint1,matches );

Проблема в линии

FeatureDetector sift1 = FeatureDetector.create(3);

так должно быть

FeatureDetector siftDetector = FeatureDetector.create(FeatureDetector.SIFT);

также SIFT принимает изображение как изображение в градациях серого

Вот пример примера

public class sample 
{
public static void main(String[] args) 
{

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

Mat image01 = Highgui.imread("C:/temp/313.jpg"); 

Mat grayImage01 = new Mat(image01.rows(), image01.cols(), image01.type());
Imgproc.cvtColor(image01, grayImage01, Imgproc.COLOR_BGRA2GRAY);
Core.normalize(grayImage01, grayImage01, 0, 255, Core.NORM_MINMAX);

FeatureDetector siftDetector = FeatureDetector.create(FeatureDetector.SIFT);
DescriptorExtractor siftExtractor = DescriptorExtractor.create(DescriptorExtractor.SIFT);

MatOfKeyPoint keyPoint01 = new MatOfKeyPoint();
siftDetector.detect(grayImage01, keyPoint01);
Другие вопросы по тегам