Повреждение образа в Opencv Java VideoCapture, возможно, с частотой кадров - PullRequest
0 голосов
/ 14 декабря 2018

У меня проблемы с OpenCV java, чисто получающей изображение из видеопотока с карты видеозахвата.До сих пор ни один другой совет здесь не помог мне (я провел целый день, просматривая его).Каждый раз он возвращает испорченное или пустое изображение, поэтому я подозреваю проблемы с частотой кадров, хотя я могу использовать ffmpeg для его чистого изображения (по проектным причинам я настоятельно предпочитаю это в Java).И ffmpeg, и opencv сообщают, что они захватывают в 30 fps и используют формат YUYV через v4l2.Мой код:

Mat frame = new Mat();
VideoCapture camera = new VideoCapture(0);
int fcc = VideoWriter.fourcc('Y', 'U', 'Y', 'V');
System.out.println(camera.get(Videoio.CAP_PROP_FPS)+
" "+camera.get(Videoio.CAP_PROP_FOURCC)+" "+fcc);
wait_for(10000);//wrapper for TimeUnit.MILLISECONDS.sleep()
while (!camera.isOpened()){//this part never runs
    wait_for(50);
    if(c++>500){
        break;
    }
}
while (true) {
        if (camera.read(frame)) {
            if(Core.sumElems(nframe).val[0]>Math.pow(10, 4)){
                Imgcodecs.imwrite("/home/ewinship/testimg.jpg", frame);
                break;
            }
        }
 }

Example picture of my USB drive

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...