» »

[JavaCV]cvApproxPoly Input array is not a valid matrix

[JavaCV]cvApproxPoly Input array is not a valid matrix

Steinkauz ::

Torej probam detektirat pravokotnik, ki je popačen s perspektivo in ga uporabiti za popravek perspektive.
CvSeq corners_seq = cvCreateSeq(0 , Loader.sizeof(CvSeq.class), Loader.sizeof(CvPoint.class), corners_storage);
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);


corners_seq na koncu vsebuje 4 točke.

Vendar ob klicu cvApproxPoly dobim error OpenCV Error: Bad argument (Input array is not a valid matrix) in unknown function, file ..\..\..\src\opencv\modules\imgproc\src\utils.cpp, line 54
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)

A kdo ve kaj bi blo narobe? Upam da je kak opencv/javacv developer tlele :)

fiction ::

Zdravo sodelavec! :)

Sicer nimam pojma o OpenCV, ampak glede na source - https://github.com/Itseez/opencv/blob/m... bi poizkusil prvi parameter cvCreateSeq() spremeniti iz 0 v (CV_SEQ_KIND_CURVE | CV_SEQ_ELTYPE_POINT).

CV_POLY_APPROX_DP pomeni Douglas-Peucker algoritem (sem mel enkrat to nesrečo, da sem moral vse skupaj ročno implementirati). cvApproxPoly() podaš seznam točk, vrne pa podmnožico teh točk, tako da te še dovolj dobro opisujejo polyline. Pri tem se robni točki ohranita (vedno dobiš najmanj 2 točki). Se pravi, če nimaš nekega bolanega thresholda, bi moral dobiti točno pt-je.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

oracle 12 identity (the old way)

Oddelek: Programiranje
61055 (860) detroit
»

PostgreSQL pomoč

Oddelek: Programiranje
162500 (1993) Mato989
»

OpenCV začetek

Oddelek: Programiranje
151248 (886) Icematxyz
»

Začetniški problem pri klicanju funkcij

Oddelek: Programiranje
6957 (799) Vesoljc
»

Skeniranje BMP ce vsebuje SubSliko

Oddelek: Programiranje
51372 (1265) MTm2H37rqt7B

Več podobnih tem