我的JLabel无法显示来自相机的图像

时间:2019-12-07 01:25:57

标签: java swing user-interface jframe jlabel

我已经为使用笔记本电脑摄像头的应用创建了一个GUI,当我按下记录时,我可以从中录制视频,但是我还想显示摄像头看到的内容。因此,我的问题是我的标签没有在循环中显示摄像机的图像。循环完成并完成记录后,它将显示我的最后一张图片。

void startInregistrare() throws InterruptedException
    {

        File saveFile=new File("saved.mp4");
        IMediaWriter writer=ToolFactory.makeWriter(saveFile.getName());
        Dimension size=WebcamResolution.VGA.getSize();
        writer.addVideoStream(0, 0, ICodec.ID.CODEC_ID_H264,size.width,size.height);
        long start=System.currentTimeMillis();
        Webcam cameraWeb=openWebcam(size);
        for(int i=0;i<100;i++)
        {

            BufferedImage image=ConverterFactory.convertToType(cameraWeb.getImage(),BufferedImage.TYPE_3BYTE_BGR);
            IConverter converter=ConverterFactory.createConverter(image, IPixelFormat.Type.YUV420P);
            IVideoPicture frame1=converter.toPicture(image,(System.currentTimeMillis()-start)*1000);
            frame1.setKeyFrame(i==0);
            frame1.setQuality(100);
            writer.encodeVideo(0, frame1);
            Thread.sleep(20);
            lblLabel.setIcon(new ImageIcon(image));

        }
        writer.close();
        System.out.println("Finished recording");
        cameraWeb.close();
    }

0 个答案:

没有答案