首页 > 解决方案 > opencv中的视频捕获错误

问题描述

拜托我需要你的帮忙。非常感谢我不知道如何处理这个错误。我是 [ OpenCV ] 的新手,希望您能帮我解决这个问题。

[3]:源代码:

原因:opencv.OpenCV.start(OpenCV.java:49) 处的 java.lang.NullPointerException

exitButton.setOnAction((ActionEvent event)->{
        System.exit(0);
    });

[编辑]:我试试这个,错误消失了,但没有按钮显示,也没有相机框架显示:

exitButton = new Button();
exitButton.setOnAction((ActionEvent event)->{
System.exit(0);
});
videoButton = new Button();
videoButton.setOnAction((ActionEvent event)->{

对这段代码有什么建议吗?

源代码:

 if(!isStart){
                frame.setFitWidth(640);
                frame.setFitWidth(480);
                frame.setPreserveRatio(true);

                capture.open(0);
                capture.set(Videoio.CAP_PROP_FRAME_WIDTH, 640);
                capture.set(Videoio.CAP_PROP_FRAME_HEIGHT, 480);

                if (capture.isOpened()){
                    isStart = true;

                    Runnable frameGrabber = new Runnable() {
                        @Override
                        public void run() {
                            Image imageToShow = grabFrame();
                            frame.setImage(imageToShow);
                        }
                    };
                    timer = Executors.newSingleThreadScheduledExecutor();
                    timer.scheduleAtFixedRate(frameGrabber, 0, 33, `TimeUnit.MILLISECONDS);`
                    videoButton.setText("Stop");
                }else {
                    System.err.println("Open Camera Error!");
                } 
            }
            else {
                isStart = false;
                videoButton.setText("Start");
                try{
                    timer.shutdown();
                    timer.awaitTermination(33, TimeUnit.MILLISECONDS);
                }catch(InterruptedException e){
                    System.err.println(e);
                }
                capture.release();
                frame.setImage(null);
            }         
        });

标签: javaopencvjavafx

解决方案


推荐阅读