java opencv Features2d.drawMatches - Ошибка подтверждения или исключение NullPointerException - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь создать изображение, отображающее совпадения ключевых точек на изображениях, созданных из просеивающих файлов, используя метод Features2d.drawMatches из java API openCV.Я не могу понять, какой аргумент метод будет использовать в качестве выходного параметра - я получаю следующее сообщение об ошибке:

OpenCV(3.4.1) Error: Assertion failed (!outImage.empty()) in 
cv::drawKeypoints, file C:\build\master_winpack-bindings-win32-vc14- 
static\opencv\modules\features2d\src\draw.cpp, line 115
Exception in thread "main" CvException [org.opencv.core.CvException:  
cv::Exception: OpenCV(3.4.1) C:\build\master_winpack-bindings-win32-vc14- 
static\opencv\modules\features2d\src\draw.cpp:115: error: (-215) 
!outImage.empty() in function cv::drawKeypoints
]
    at org.opencv.features2d.Features2d.drawMatches_1(Native Method)
    at org.opencv.features2d.Features2d.drawMatches(Features2d.java:71)
    at com.company.GUI.ImagesView.matchPoints(ImagesView.java:94)
    at com.company.GUI.ImagesView.<init>(ImagesView.java:69)
    at com.company.Main.main(Main.java:17)

Мой код:

private void matchPoints() {
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    MatOfKeyPoint matKey1 = new MatOfKeyPoint(keyPoints1);
    MatOfKeyPoint matKey2 = new MatOfKeyPoint(keyPoints2);
    MatOfDMatch matDMatch = new MatOfDMatch(matches);
    Mat output = new Mat();
    //output = new Mat(matKey1.rows(), matKey1.cols(), CvType.CV_8U, Scalar.all(0));
    if (!output.empty())
        System.out.println("not empty");
    else
        System.out.println("empty");
    Features2d.drawMatches(mat1, matKey1, mat2, matKey2, matDMatch, output);
    HighGui.imshow("Matches", output);
}

Точно такая же ошибка утверждения показывает, отменяю ли я комментарий к строке комментария, несмотря на приведенную ниже проверку empty (), возвращающую разные значения для этих двух матов.Я в растерянности, помощь будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...