qq_40951552 2025-06-15 19:39 采纳率: 0%
浏览 86

C++运行opencv时cv::imshow报错

使用wsl2的Ubuntu20.04运行opencv代码,运行至cv::imshow时报以下错误,请问如何解决


#include <iostream>
#include "opencv4/opencv2/opencv.hpp"
#include "opencv4/opencv2/highgui.hpp"
#include "opencv4/opencv2/imgproc.hpp"

using namespace cv;
using namespace std;

int main() {
    cv::Mat image = cv::imread("test.jpg");
    if(image.empty()) {
        std::cerr << "Error loading image" << std::endl;
        return -1;
    }

    std::cout << "OpenCV测试成功!" << std::endl;
    std::cout << "图像尺寸: " << image.cols << "x" << image.rows << std::endl;
    std::cout << "通道数: " << image.channels() << std::endl;

    cv::imshow("测试窗口", image);
    cv::waitKey(0);

    return 0;
}

img

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-06-15 20:15
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    C++运行opencv时cv::imshow报错

    你遇到的问题是cv::imshow函数报错,这可能是因为OpenCV库在WSL2中没有正确安装或配置。下面是一些可能解决的方法:

    1. 检查OpenCV库的安装:使用以下命令检查OpenCV库是否正确安装:
    sudo apt-get install libopencv-dev
    

    如果OpenCV库没有安装,可以使用以下命令安装:

    sudo apt-get install libopencv-dev
    
    1. 检查OpenCV库的版本:使用以下命令检查OpenCV库的版本:
    pkg-config --modversion opencv4
    

    如果OpenCV库的版本不正确,可以尝试更新OpenCV库:

    sudo apt-get update
    sudo apt-get install libopencv-dev
    
    1. 检查cv::imshow函数的使用:检查你的代码中是否正确使用cv::imshow函数。确保你已经创建了一个窗口对象,并且使用了cv::imshow函数来显示图像。
    cv::Mat img = ...; // 创建图像
    cv::imshow("Image", img); // 显示图像
    cv::waitKey(0); // 等待键盘输入
    
    1. 检查WSL2的配置:检查WSL2的配置是否正确。可以尝试使用以下命令来检查WSL2的配置:
    wsl --status
    

    如果WSL2的配置不正确,可以尝试重新配置WSL2:

    wsl --unregister
    wsl --register
    
    1. 检查代码中的错误:检查你的代码中是否存在错误。使用调试工具来检查代码中的错误。

    如果以上方法都不能解决问题,可以提供更多的代码信息和错误信息,以便更好地帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 修改了问题 6月15日
  • 创建了问题 6月15日