java opencv Features2d.drawMatches - Assertion failure

asked 2018-05-28 14:29:12 -0500

NaN gravatar image

I'm trying to create an image depicting matches between keypoints in images generated from sift files, using the Features2d.drawMatches method from openCV java API. I'm using openCV 3.4.1. I can't seem to figure out what kind of argument the method will take as an output parameter - I keep getting the following Assertion Error: "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" My code:

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);
}

The assertion error shows up regardless of if the commented line is there or not.

edit retag flag offensive close merge delete