【问题标题】:Opencv, can't get destroyAllWindows to workOpencv,无法让 destroyAllWindows 工作
【发布时间】:2022-01-16 10:51:02
【问题描述】:

OpenCV 4.5.4、C++ 和 Win10。

可能我的语法不能用这个来计算,但是任何人都可以找到解决我的问题的方法吗?我可以打开 USB 网络摄像头窗口并显示流。但我无法关闭它。

这会打开窗口,但根本没有图像流:

cv::imshow("Smaller", resized_down);
int c = cv::waitKey(1);
if ((char)c == 'c')
    cv::destroyAllWindows();
    break;

这样效果更好,它显示图像流,但按 C,它只会冻结图像:

cv::imshow("Smaller", resized_down);
int c = cv::waitKey(1);
if ((char)c == 'c')
    break;

请说明您是否需要查看我的更多代码。

【问题讨论】:

  • 编译时应该打开所有警告。一个好的编译器应该在这里警告“误导性缩进”。这是因为break 缩进就像它是if 语句的一部分,但它不是。
  • 如果我没记错的话,你的代码好像在循环中,如果是这样,请提供相关行的代码

标签: c++ opencv computer-vision


【解决方案1】:

您的第一个代码应该可以使用此修复程序(中断;始终在您的代码中执行!):

cv::namedWindow(“Smaller”);
while(true){
…
cv::imshow("Smaller", resized_down);
int c = cv::waitKey(1);
if ((char)c == 'c'){
    cv::destroyAllWindows();
    break;
}
…
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 2014-12-26
    • 2017-12-22
    • 2012-02-28
    相关资源
    最近更新 更多