javacv抽取灰色图片问题

图片说明图片说明

想问下用过javacv的兄弟,我这边用javacv抽取图片总是会抽取到灰色图片

    public ProcessResult process(TaskContext context) throws Exception{
    //rtsp地址
    FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(url);
    // 使用tcp的方式,不然会丢包很严重
    grabber.setOption("rtsp_transport", "tcp");
    //开始拉流
    //TODO 慢
    grabber.start();
    //获取摄像头宽高
    int width = grabber.getImageWidth();
    int height = grabber.getImageHeight();
    Frame frame = null;
    ByteArrayOutputStream stream = null;
    //OpenCVFrameConverter.ToIplImage converter = new OpenCVFrameConverter.ToIplImage();//转换器
    //Java2DFrameConverter bimConverter = new Java2DFrameConverter();
    while (true) {
        try{

            //抽帧
            frame = grabber.grabImage();
            if (frame.image == null) {
                continue;
            }
            //IplImage grabbedImage = converter.convert(grabber.grabImage());//抓取一帧视频并将其转换为图像,至于用这个图像用来做什么?加水印,人脸识别等等自行添加

            BufferedImage image = null;
            image = createBufferedImage(frame,image);

            stream = new ByteArrayOutputStream();

            //生成UUID
            //String uuid = UUID.randomUUID().toString().toUpperCase();
            //TODO 超级慢
            //BufferedImage bufferedImage = Java2DFrameUtils.toBufferedImage(frame);
            //输出流
            ImageIO.write(image, "jpg", stream);
            String base64 = Base64.encode(stream.toByteArray());

        }catch (Exception e){
            if(grabber != null) {
                grabber.close();
            }
            if(stream != null) {
                stream.close();
            }
            throw e;

        }
    }
}

http://www.voidcn.com/search/hivbpq