C++ 在cv::imshow()中获取错误-ASSERT:";假;在文件qasciikey.cpp的第501行

C++ 在cv::imshow()中获取错误-ASSERT:";假;在文件qasciikey.cpp的第501行,c++,opencv,ubuntu-14.04,imshow,C++,Opencv,Ubuntu 14.04,Imshow,无论何时调用cv::waitKey(),都会出现此错误: 我不知道为什么会出现这个错误。我运行在Ubuntu服务器14.04 EC2实例上,该实例通过Windows上的MobaXterm连接。 如果我在一台普通的ubuntu机器上运行所有相同的代码,一切都会很好 这是发生这种情况的地方: char key = cvWaitKey(33); 我不想在这里获得荣誉,但我认为这应该得到一个正确的答案 正如@George在评论中提到的,当我的输入不是来自英语键盘,而是使用了其他语言环境时,就会发生此错

无论何时调用cv::waitKey(),都会出现此错误:

我不知道为什么会出现这个错误。我运行在Ubuntu服务器14.04 EC2实例上,该实例通过Windows上的MobaXterm连接。 如果我在一台普通的ubuntu机器上运行所有相同的代码,一切都会很好

这是发生这种情况的地方:

char key = cvWaitKey(33);

我不想在这里获得荣誉,但我认为这应该得到一个正确的答案

正如@George在评论中提到的,当我的输入不是来自英语键盘,而是使用了其他语言环境时,就会发生此错误。我已经看到了这个错误的其他原因,但我想这是一个非常常见的情况,因为错误报告:

断言:“假”

试试这个

pip install qtconsole

我解决了这个问题。

MobaXterm中的一个解决方法是取消选中X11设置中的“Unix兼容键盘”。

这个问题是由于我的笔记本电脑电池电量很低,并且在opencv运行后充电不稳定。opencv窗口快速打开和关闭。这个问题必须在电池充满电时才能解决。

当我最初构建OpenCV时,我使用了带有_QT=ON的标志。我只是简单地用_QT=OFF构建了OpenCV,它工作得很好。我在没有将键盘改为英语时出错。我在同样的情况下也犯了同样的错误。这并不总是发生。
pip install qtconsole