我在cvSnakeImage()的实现中得到“Undefined type”

时间:2013-11-22 01:18:02

标签: java c++ opencv javacv

我在eclipse中使用JavaCV和OpenCV。这使我可以像在cvSnakeImage()中那样访问OpenCV中的C ++函数。使用下面的代码我得到:

“线程中的异常”主“java.lang.Error:未解决的编译问题:     方法cvSnakeImage(opencv_core.IplImage,Point,int,float,float,float,int,int,int,int)未定义OpenCv类型的OpenCv(OpenCv.java:17)“

任何想法?

import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import java.awt.Point;

public class MyProgram {
public static void main(String[] args) { 
    IplImage image = cvLoadImage("pic.jpg");
        Point pt = new Point(10,8);
        Point pt2 = new Point(30,50);
        float alpha=20/100.0f; 
        float beta=20/100.0f; 
        float gamma=20/100.0f; 


        cvSnakeImage(image,pt,1,alpha,beta,gamma,1,3,8,0 );   

        cvSaveImage("output.jpg", image);
        cvReleaseImage(image);
    System.out.println( "Hello");
  }
}

1 个答案:

答案 0 :(得分:0)

所以这就是说没有采用这些参数的静态函数

cvSnakeImage(opencv_core.IplImage, Point, int, float, float, float, int, int, int, int)

由于cvLoadImage似乎正在发挥作用,我猜你的项目设置正确。

检查函数cvSnakeImage

的参数

根据我发现的一些文档,倒数第三个参数size的类型应为

CvSize size; 
size.width=3; 
size.height=3;

请参阅此example

看看我发给你的上述链接?看起来倒数第二个参数是CvTermCriteria类型。最后一个参数是CV_VALUE,无论是什么。