我正在尝试处理录制的视频以进行特征点识别。当我以全分辨率(1280 * 720)处理视频时,视频播放速度比应有的慢。每当我将分辨率降低到640 * 360时,fps会急剧下降。这是什么原因?
if(captureOpen == false){
img_scene = cvCaptureFromFile("20151115_154042_582.mp4");
}
while(1) {
image = cvQueryFrame(img_scene);
if(image.empty()) {
cout << "IMAGE EMPTY" << endl;
continue;
}
else {
frameCount++;
}
cvtColor(image, gray, CV_BGR2GRAY);
captureOpen = true;
processingThread(gray, imageIndex);
myfile << cvGetCaptureProperty(img_scene, CV_CAP_PROP_POS_FRAMES) << endl;
imshow("Output", gray);
key = cvWaitKey(5);
我已尝试将cvWaitKey();
缩减为1
,但它似乎对fps没有任何明显影响,我也尝试删除灰度转换,但没有明显的效果。
(我已经尝试过手刹和ffmpeg以降低分辨率)