为什么我看不到捕获的图像?
Why can I not see captured image?
我遇到了一个奇怪的问题。
我能够加载和显示图像。此外,我能够捕获图像,但在显示器中看不到图像。摄像头连接正常,拍摄图像正常,但看不到图像。
我的系统是 window 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;
}
我通过更改 cap 的参数解决了这个问题。
这里是
cv::VideoCapture cap(1);
对于某些系统,0 索引显示为第一个摄像头。对于其他人,索引 1 显示第一台摄像机。
希望这对您有所帮助。
干杯!
我遇到了一个奇怪的问题。
我能够加载和显示图像。此外,我能够捕获图像,但在显示器中看不到图像。摄像头连接正常,拍摄图像正常,但看不到图像。
我的系统是 window 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;
}
我通过更改 cap 的参数解决了这个问题。
这里是
cv::VideoCapture cap(1);
对于某些系统,0 索引显示为第一个摄像头。对于其他人,索引 1 显示第一台摄像机。
希望这对您有所帮助。 干杯!