c++ - OpenCV Mat 导致 SIGABRT 崩溃

标签 c++ qt opencv ubuntu

我正在通过创建一个 50x50 单 channel 矩阵来测试 Mat 类功能,该矩阵在显示后应该会产生黑色图片。不幸的是,我的程序在以下代码的第 3 行崩溃了:

cv::Mat projImg = cv::Mat::zeros(50, 50, CV_8U);
cv::namedWindow( "Test");
cv::imshow("Test", projImg);

出现错误下级停止,因为它收到了来自操作系统的信号。信号名称:SIGABRT。这很奇怪,因为这段代码非常简单。

我正在运行带有 Qt 4.0.2 的 Ubuntu 16.04 64 位。

注意即使将 projImg 设置为常规图像,我也会遇到同样的错误

cv::Mat projImg = cv::imread("/home/is/Downloads/test.jpg");

最佳答案

您的基本 OpenCV 功能不太可能有问题。因此,您的 OpenCV 可能未配置为使用 Qt 支持构建。
list :

  1. 消除所有highgui 方法以确保核心OpenCV 工具正常工作。您可以将 namedWindowimshow 替换为 imwrite
  2. 再次检查您的 OpenCV 构建过程并查找特定的 Qt 选项。如果您使用的是 CMake,请查找 With Qt 开关和相关的 Qt 路径。

关于c++ - OpenCV Mat 导致 SIGABRT 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38157681/

相关文章:

c++ - 曲面 segmentation 着色器没有输出?

c++ - 前向声明类型上的 std::vector

c++ - map 删除器在 C++ 中不起作用?

c++ - Qt5 构建失败

qt - VS2019不保存qtversion

python - 当我们通过掩码的阈值图像时,cv2.normalize 实际上会做什么?

c++ - Opencv - 如何区分抖动和平移?

C++ char[100] = "hello"不起作用

c++ - 有没有一个看起来像标签的Qt小部件来显示文本,但如果双击也可以编辑?

python - opencv python使用houghcircle函数检测不规则形状