OpenCV打开摄像头延迟大可能有以下几个原因:
摄像头硬件问题:摄像头硬件问题可能导致图像采集速度慢,从而导致OpenCV打开摄像头时延迟较大。可以尝试更换摄像头或检查摄像头连接。
图像采集参数设置问题:OpenCV打开摄像头时需要设置一些图像采集参数,如帧率、分辨率等。如果参数设置不合理,可能会导致延迟较大。可以尝试调整参数设置。
系统资源占用问题:在使用OpenCV打开摄像头时,可能会同时运行其他占用大量系统资源的程序,如游戏、视频播放器等,导致系统资源不足,从而导致OpenCV打开摄像头时延迟较大。可以尝试关闭其他占用系统资源的程序。
OpenCV版本问题:OpenCV版本不同,在打开摄像头时的实现方式也有所不同,不同的实现方式可能会导致延迟较大。可以尝试更新或降级OpenCV版本。
需要根据具体情况进行排查。
如题,使用opencv 2.4,摄像头获取图像,使用cvsetcaptureproperty调低分辨率,代码如下:
int main( int argc, char** argv ){
IplImage* pFrame = NULL
CvCapture* pCapture = NULL
cvNamedWindow("video", 1)
pCapture = cvCreateCameraCapture(CV_CAP_ANY)
cvSetCaptureProperty(pCapture, CV_CAP_PROP_FRAME_WIDTH, 320)
cvSetCaptureProperty(pCapture, CV_CAP_PROP_FRAME_HEIGHT, 240)//这两句话并没有效果
while(pFrame = cvQueryFrame( pCapture ))
{
cvShowImage("video", pFrame)
cvWaitKey(20)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)