You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenCV C++无法读取图片求助:路径正确仍出现读取及断言报错

OpenCV imread无法读取图片且触发namedWindow断言错误排查

问题描述

使用OpenCV的imread函数读取图片时失败,已确认文件路径正确、图片实际存在,尝试过参照YouTube教程排查、调试路径均无效果,目前无法推进。

报错信息

[ WARN:0@0.382] global loadsave.cpp:248 cv::findDecoder imread_(''):
can't open/read file: check file path/integrity
OpenCV Exception:
OpenCV(4.9.0)
C:\GHA-OCV-1_work\ci-gha-workflow\ci-gha-workflow\opencv\modules\highgui\src\window.cpp:449:
error: (-215:Assertion failed) !winname.empty() in function
'cv::namedWindow'

运行环境

  • 控制台应用
  • C++ 17 X64 Unicode
  • 编译器:VS 2022

相关代码

#include <iostream>
#include <opencv2/opencv.hpp>
#include <Windows.h>

int main()
{
    try {
        cv::Mat img = cv::imread("C:\\Users\\S06\\Downloads\\panneau.jpg", cv::IMREAD_COLOR);
        cv::namedWindow("Image", cv::WINDOW_AUTOSIZE);
        cv::imshow("Image", img);
        cv::waitKey(0);
    }
    catch (const cv::Exception& e) {
        std::cerr << "OpenCV Exception: " << e.what() << std::endl;
        system("pause");
        return -1;
    } catch (const std::exception& e) {
        std::cerr << "Standard Exception: " << e.what() << std::endl;
        system("pause");
        return -1;
    } catch (...) {
        std::cerr << "Unknown Exception" << std::endl;
        system("pause");
        return -1;
    }
    system("pause");
    return 0;
}

排查与解决建议

  • 修复路径的Unicode适配问题:VS默认的Unicode项目中,imread的char*路径参数可能无法正确解析,改用宽字符版本的imread:

    cv::Mat img = cv::imread(L"C:\\Users\\S06\\Downloads\\panneau.jpg", cv::IMREAD_COLOR);
    

    或者将路径转换为UTF-8编码的std::string传入。

  • 提前校验图片读取结果:在执行窗口相关操作前,先判断cv::Mat是否为空,避免触发断言错误:

    cv::Mat img = cv::imread("C:\\Users\\S06\\Downloads\\panneau.jpg", cv::IMREAD_COLOR);
    if (img.empty()) {
        std::cerr << "图片读取失败,请检查路径或文件完整性" << std::endl;
        system("pause");
        return -1;
    }
    
  • 检查文件权限:尝试以管理员身份运行VS,确保程序拥有读取目标文件夹(Downloads)的权限。

  • 验证图片完整性:重新打开或下载目标图片,确认文件未损坏;也可更换其他格式的图片测试,排除图片本身的问题。

内容的提问来源于stack exchange,提问作者SplatStereer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 09:34:56