私は取り組んでJavaCV
おり、遠近法によって歪んだ長方形を検出し、長方形の4隅を使用して画像を正しい遠近法に修正しようとしています。私はこのコードを持っています:
CvSeq corners_seq = new CvSeq();
int count = 0;
for (int i = 0; i < table_lines.length; i++)
{
for (int j = i + 1; j < table_lines.length; j++)
{
CvPoint pt = HelperClass.ComputeIntersection(table_lines[i][0],table_lines[i][1], table_lines[j][0],table_lines[j][1]);
if (pt.x() >= 0 && pt.y() >= 0)
{
corners_seq.put(pt);
}
}
}
CvMemStorage corners_storage = cvCreateMemStorage(0);
CvSeq corners = cvApproxPoly(corners_seq, corners_seq.header_size(), corners_storage, CV_POLY_APPROX_DP, 8, 0);
cvApproxPoly で、ネイティブ メソッドからエラーが発生します。
Exception in thread "main" java.lang.RuntimeException: ..\..\..\src\opencv\modules\imgproc\src\utils.cpp:54: error: (-5) Input array is not a valid matrix at com.googlecode.javacv.cpp.opencv_imgproc.cvApproxPoly(Native Method)
私は何を間違っていますか?私が理解しているように、入力引数はPointer
CvSeqです