JavaCV / OpenCV:cvLoadImage无法正常工作

我安装了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);
    }

}

尝试运行时出错:

线程“main”中的异常java.lang.RuntimeException:不可编译的源代码 - 错误的sym类型:javacv.demo.main处的cvLoadImage(demo.java:17)

Java结果:1

似乎它声称cvLoadImage不会将字符串作为参数。


走过来,我为你找到的是通过ImageIO加载图像,并稍后将其IplImageIplImage

例如:

 BufferedImage img =  ImageIO.read(new File("C:img.jpg") );
 IplImage origImg = IplImage.createFrom(img);

这解决了我的问题: import static org.bytedeco.javacpp.opencv_imgcodecs.*;


你必须添加这个导入语句:
import static org.bytedeco.javacpp.opencv_imgcodecs.cvLoadImage; 这是必需的,以便可以在不使用类名的情况下使用静态方法cvLoadImage

链接地址: http://www.djcxy.com/p/63811.html

上一篇: JavaCV/OpenCV: cvLoadImage not working

下一篇: How to identify polygon using opencv or javacv?