2017-09-24 50 views
1

我正面临一个奇怪的问题。为什么我看不到捕获的图像?

我可以加载和显示图像。另外,我可以捕捉图像,但看不到图像。相机连接良好,拍摄图像很好,但看不到图像。

我的系统是窗口10-64位与opencv 3.3.0。

代码如下。

int main() 
{ 

    cv::VideoCapture cap(0); 

    if (!cap.isOpened()) { 
     std::cerr << "camera didn't connected." << std::endl; 
     return 0; 
    } 

    int nFrame = 0; 

    cv::Mat image = cv::imread("orgin102.jpg"); 

    cv::imshow("image", image); 

    cvWaitKey(0); 

    while (true) { 

     cv::Mat origin; 

     cap >> origin; 

     //flip orign 
     flip(origin, origin, 1); 

     nFrame++; 

     cv::imshow("image", origin); 

     //if (cv::waitKey(27) >= 0) break; 

     cvWaitKey(0); 
    } 
    return 0; 
} 

回答

1

我通过改变cap的参数解决了这个问题。

在这里它是

cv::VideoCapture cap(1); 

对于某些系统,0的索引表示为第一照相机。而对于其他索引1则显示第一台相机。

希望这会有所帮助。 干杯!