Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用cvfitlinejava_Java_Opencv - Fatal编程技术网

如何使用cvfitlinejava

如何使用cvfitlinejava,java,opencv,Java,Opencv,我有以下代码: [...]cvCvtColor(subtraction, grayBuffer, CV_BGR2GRAY); cvThreshold(grayBuffer, grayBuffer, 127, 255, CV_THRESH_BINARY); cvFindContours(grayBuffer, mem, contours, Loader.sizeof(CvContour.class) , CV_RETR_LIST, CV_CHAIN_

我有以下代码:

        [...]cvCvtColor(subtraction, grayBuffer, CV_BGR2GRAY);
        cvThreshold(grayBuffer, grayBuffer, 127, 255, CV_THRESH_BINARY);
        cvFindContours(grayBuffer, mem, contours, Loader.sizeof(CvContour.class) , CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
        //cvFitLine(Mat(contours[0]),lines,2,0,0.01,0.01);
        cvFitLine(contours, CV_DIST_L2, 2, 0.01, 0.01, line);

        int lefty = (int)((int)(-line[2]*line[1]/line[0])+line[3]);
        int righty = (int) ((int)((grayBuffer.width()-line[2])*line[1]/line[0])+line[3]);
        line(grayBuffer.width()-1,0,righty,lefty); [...]´
`

        [...]cvCvtColor(subtraction, grayBuffer, CV_BGR2GRAY);
        cvThreshold(grayBuffer, grayBuffer, 127, 255, CV_THRESH_BINARY);
        cvFindContours(grayBuffer, mem, contours, Loader.sizeof(CvContour.class) , CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
        //cvFitLine(Mat(contours[0]),lines,2,0,0.01,0.01);
        cvFitLine(contours, CV_DIST_L2, 2, 0.01, 0.01, line);

        int lefty = (int)((int)(-line[2]*line[1]/line[0])+line[3]);
        int righty = (int) ((int)((grayBuffer.width()-line[2])*line[1]/line[0])+line[3]);
        line(grayBuffer.width()-1,0,righty,lefty); [...]´
这给了我一个致命的错误

        [...]cvCvtColor(subtraction, grayBuffer, CV_BGR2GRAY);
        cvThreshold(grayBuffer, grayBuffer, 127, 255, CV_THRESH_BINARY);
        cvFindContours(grayBuffer, mem, contours, Loader.sizeof(CvContour.class) , CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
        //cvFitLine(Mat(contours[0]),lines,2,0,0.01,0.01);
        cvFitLine(contours, CV_DIST_L2, 2, 0.01, 0.01, line);

        int lefty = (int)((int)(-line[2]*line[1]/line[0])+line[3]);
        int righty = (int) ((int)((grayBuffer.width()-line[2])*line[1]/line[0])+line[3]);
        line(grayBuffer.width()-1,0,righty,lefty); [...]´
有人知道如何使用fitLine吗

        [...]cvCvtColor(subtraction, grayBuffer, CV_BGR2GRAY);
        cvThreshold(grayBuffer, grayBuffer, 127, 255, CV_THRESH_BINARY);
        cvFindContours(grayBuffer, mem, contours, Loader.sizeof(CvContour.class) , CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
        //cvFitLine(Mat(contours[0]),lines,2,0,0.01,0.01);
        cvFitLine(contours, CV_DIST_L2, 2, 0.01, 0.01, line);

        int lefty = (int)((int)(-line[2]*line[1]/line[0])+line[3]);
        int righty = (int) ((int)((grayBuffer.width()-line[2])*line[1]/line[0])+line[3]);
        line(grayBuffer.width()-1,0,righty,lefty); [...]´

谢谢:)

这是一个使用cvFitLine(为处理语言编写,提供setup()和exit()方法)的javacv程序:

        [...]cvCvtColor(subtraction, grayBuffer, CV_BGR2GRAY);
        cvThreshold(grayBuffer, grayBuffer, 127, 255, CV_THRESH_BINARY);
        cvFindContours(grayBuffer, mem, contours, Loader.sizeof(CvContour.class) , CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
        //cvFitLine(Mat(contours[0]),lines,2,0,0.01,0.01);
        cvFitLine(contours, CV_DIST_L2, 2, 0.01, 0.01, line);

        int lefty = (int)((int)(-line[2]*line[1]/line[0])+line[3]);
        int righty = (int) ((int)((grayBuffer.width()-line[2])*line[1]/line[0])+line[3]);
        line(grayBuffer.width()-1,0,righty,lefty); [...]´

谢谢,但我还是有同样的问题。我在cvFitLine之前使用了cvFindContours,在最后一个函数中出现了以下错误:“#Java运行时环境检测到一个致命错误:#异常#访问(0xc0000005)在pc=0x00007FCA032F84D,pid=10268,tid=3640#JRE版本:7.0#U 13-b20#Java虚拟机:Java热点(TM)64位服务器虚拟机(23.7-b01混合模式windows-amd64压缩oops)#有问题的框架:#C[opencv_imgproc231.dll+0xdf84d]cvFitLine+0x40d###无法写入核心转储。默认情况下,在windows的客户端版本上不启用小型转储`