我在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");
}
}
答案 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,无论是什么。