gpt4 book ai didi

java - FrameGrabber 空指针异常

转载 作者:行者123 更新时间:2023-12-01 14:32:45 26 4
gpt4 key购买 nike

我有以下代码来使用 Javacv 使用网络摄像头捕获图像。它运行时没有任何问题,但现在崩溃并出现 NullPointerException

代码:

public class ClientTest {

public static void main(String[] args) {
takeImage();

}

public static ImageIcon takeImage() {
FrameGrabber grabber = null;
IplImage img = null;
ImageIcon image = null;
try {
grabber = FrameGrabber.createDefault(0);
} catch (com.googlecode.javacv.FrameGrabber.Exception e1) {
e1.printStackTrace();
}
int i = 0;
try {
grabber.start();

img = grabber.grab();
if (img != null) {
cvFlip(img, img, 1);
}
// Save image
image = new ImageIcon(img.getBufferedImage());

grabber.flush();
grabber.stop();
} catch (Exception e) {
Client.showMessage("Error taking image!");
e.printStackTrace();

}
return image;
}
}

错误:

Exception in thread "main" java.lang.NullPointerException
at com.googlecode.javacv.FrameGrabber.create(FrameGrabber.java:95)
at com.googlecode.javacv.FrameGrabber.createDefault(FrameGrabber.java:118)
at Main.ClientTest.takeImage(ClientTest.java:33)
at Main.ClientTest.main(ClientTest.java:24)

如果有人能提供一些线索,我将不胜感激,这是一个紧急问题,因为这是我的最后一年项目的一部分,该项目将于周一到期......

最佳答案

您可能想查看 FrameGrabber 源代码,看看是否可以自己将其拼凑起来: https://code.google.com/p/javacv/source/browse/src/main/java/com/googlecode/javacv/FrameGrabber.java?r=5bbb841a1d9b03328ad0c3dbc723ad6903220d62

如果您查看错误,它表明当 takeImage 调用 FrameGrabber.createDefault() 以及当 FrameGrabber.createDefault() 调用 create() 时发生错误。这两个方法位于第 99 行和第 123 行,getDefault() 方法位于第 62 行。尝试浏览这些方法,看看是否可以找出可能是什么输入导致了问题。

我的猜测是 getDefault() 方法返回 null(可能是因为没有扩展 FrameGrabber 的类),因此 create() 方法在调用 c.getConstructor() 时会抛出空指针异常,因为 c 为 null .

祝你好运!

关于java - FrameGrabber 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16735498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com