JavaCV/OpenCV: cvLoadImage not working

I installed the JavaCV/OpenCV libraries, and I'm having a problem with the basic example code.

According to several examples that I have looked at, this code should load an image:

IplImage image = cvLoadImage("C:img.jpg");

But, when I run that I get a "cannot find symbol" error.

Since this is my first time using it, I'm not sure if I messed the install up or not.

According to the newest JavaCV readme, I do have the correct version of OpenCV. I also have all the JavaCV jar files imported. As far as I can tell, I also have all the paths set correctly too.

Anyone know what the problem is?

Edit:

Full code:

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);
    }

}

Error when I try to run it:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: cvLoadImage at javacv.demo.main(demo.java:17)

Java Result: 1

Seems like it is claiming cvLoadImage doesn't take a string as an argument.


A walk around that i find for you is to load the image by ImageIO and passe it later to IplImage

eg:

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

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


You have to add this import statement:
import static org.bytedeco.javacpp.opencv_imgcodecs.cvLoadImage; This is required so that the static method cvLoadImage can be used without using the class name.

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

上一篇: 计算圆的中心坐标

下一篇: JavaCV / OpenCV:cvLoadImage无法正常工作