有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java操作数类型错误

Project: HERE link to the project

我试图使用此开放源代码,但出现以下错误:

error: bad operand type for binary operator '!='

在这方面:

if (img != null) {
    cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise
    cvSaveImage((i++) + "-capture.jpg", img);
    // show image on window
    canvas.showImage(img);
}

以下是整个课程:

package pdlwebcam;

import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.FrameGrabber;
import com.googlecode.javacv.VideoInputFrameGrabber;
import com.googlecode.javacv.cpp.opencv_core.IplImage;

public class PDLWebcam implements Runnable {
    //final int INTERVAL=1000;///you may use interval

    IplImage image;
    CanvasFrame canvas = new CanvasFrame("Web Cam");

    public PDLWebcam() {
        canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
    }

    @Override
    public void run() {
        FrameGrabber grabber = new VideoInputFrameGrabber(0);
        int i = 0;
        try {
            grabber.start();
            IplImage img;
            while (true) {
                img = grabber.grab();
                if (img != null) {
                    cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise
                    cvSaveImage((i++) + "-capture.jpg", img);
                    // show image on window
                    canvas.showImage(img);
                }
                //Thread.sleep(INTERVAL);
            }
        } catch (Exception e) {
        }
    }
}

共 (1) 个答案

  1. # 1 楼答案

    我已经为cvFlipcvSaveImage方法创建了存根实现,并且编译的项目没有任何错误。不过,Netbeans还是会显示Bad operand错误消息。它看起来像IDE本身的一个bug

    解决方法:我注意到IplImage类派生自对Netbeans不可见的com.googlecode.javacpp.Pointer。将javacpp添加到项目库有助于删除错误消息