我安装了JavaCV/OpenCV库,但基本的示例代码有问题。
根据我看过的几个示例,这段代码应该加载一个图像:
IplImage image = cvLoadImage("C:\\img.jpg");但是,当我运行的时候,我得到一个“找不到符号”的错误。
由于这是我第一次使用它,我不确定我是否搞砸了安装。
根据最新的JavaCV自述文件,我确实有正确版本的OpenCV。我还导入了所有的JavaCV jar文件。据我所知,我也正确地设置了所有的路径。
有人知道问题出在哪里吗?
编辑:
完整代码:
import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.cpp.opencv_core.IplImage;
import java.io.File;
public class demo {
public static void main(String[] args)
{
IplImage image = cvLoadImage("C:\\img.jpg");
final CanvasFrame canvas = new CanvasFrame("Demo");
canvas.showImage(image);
canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
}
}当我尝试运行它时出错:
线程java.lang.RuntimeException异常:无法编译的源代码-错误的sym类型: cvLoadImage at javacv.demo.main(demo.java:17)
Java结果:1
看起来好像是在声明cvLoadImage不接受字符串作为参数。
发布于 2013-04-08 06:23:29
我为您找到的一种方法是通过ImageIO加载图像,然后将其传递给IplImage
例如:
BufferedImage img = ImageIO.read(new File("C:\\img.jpg") );
IplImage origImg = IplImage.createFrom(img);发布于 2015-10-23 07:16:37
这解决了我的问题:import static org.bytedeco.javacpp.opencv_imgcodecs.*;
发布于 2015-12-21 04:42:38
您必须添加以下import语句:
import static org.bytedeco.javacpp.opencv_imgcodecs.cvLoadImage;这是必需的,这样就可以在不使用类名的情况下使用静态方法cvLoadImage。
https://stackoverflow.com/questions/15867696
复制相似问题