0

0

C++如何使用OpenCV读取图片_C++图像处理入门环境配置【图形】

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-02-06 11:02:02

|

919人浏览过

|

来源于php中文网

原创

OpenCV imread读取失败主因是路径和编码问题:路径含中文/空格、相对路径错误、格式不支持(如WebP);Windows需用"/"或"\\",避免"\"转义;建议用绝对路径测试并打印当前工作目录。

c++如何使用opencv读取图片_c++图像处理入门环境配置【图形】

OpenCV imread 读不到图?先确认路径和编码问题

绝大多数“读取失败”不是代码写错,而是 imread 返回空 cv::Mat。常见原因有三个:路径含中文或空格、相对路径没对上工作目录、图片格式不被支持(比如 WebP 或某些带 alpha 的 PNG)。Windows 下尤其要注意路径分隔符——用正斜杠 "/" 或双反斜杠 "\\\\",别用单反斜杠 "\"(会被当转义符)。

实操建议:

立即学习C++免费学习笔记(深入)”;

  • 用绝对路径测试,例如 cv::imread("C:/test/image.jpg"),排除路径解析问题
  • 打印当前工作目录:std::cout (Windows)或 getcwd(Linux/macOS),确认相对路径基准点
  • 检查返回值:if (img.empty()) { std::cerr ,别跳过这步
  • OpenCV 默认不支持 JPEG2000、WebP 等格式,如需支持,编译时得开 WITH_JASPERWITH_WEBP,预编译包通常不带

Visual Studio 配置 OpenCV 的关键三步(x64 + Debug)

配环境卡住,90% 出在“平台/配置不匹配”。VS 项目默认是 x86,但多数 OpenCV 预编译库是 x64;Debug 模式下必须连 opencv_world4xxd.lib(带 d 后缀),连错 release 库会报 LNK2019。

实操建议:

立即学习C++免费学习笔记(深入)”;

  • 项目属性 → “常规” → “平台工具集” 和 “Windows SDK 版本” 要与 OpenCV 编译时一致(比如 v143 + 10.0.22621.0)
  • “C/C++” → “附加包含目录” 加入 opencv/build/include
  • “链接器” → “附加库目录” 加入 opencv/build/x64/vc17/lib(vc17 对应 VS2022)
  • “链接器” → “输入” → “附加依赖项” 填 opencv_world410d.lib(版本号按你实际用的改,Debug 用 d,Release 去掉 d
  • 运行前把 opencv/build/x64/vc17/bin 下的 DLL(如 opencv_world410d.dll)复制到可执行文件同目录,否则报“找不到 dll”

imshow 显示窗口一闪而逝?cv::waitKey 是关键

cv::imshow 只负责开窗绘图,不阻塞主线程。窗口闪退是因为 main 函数结束、进程退出。必须调用 cv::waitKey 才能维持窗口并捕获键盘事件。

稿定AI
稿定AI

拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能

下载

实操建议:

立即学习C++免费学习笔记(深入)”;

  • 显示后加 cv::waitKey(0):等待任意键按下才继续(适合调试)
  • 做视频处理时用 cv::waitKey(30):约 33 FPS,数值太小窗口可能没刷新完就关了
  • 注意:waitKey 必须在 imshow 之后调用,且同一线程内不能漏掉——哪怕只显示一张图
  • Linux 下若报 cv::imshow: can't connect to X server,说明没图形界面(如 SSH 登录未开 X11 转发),此时只能保存结果用 cv::imwrite

读取后图像通道顺序是 BGR,不是 RGB

OpenCV 默认用 BGR 顺序存储像素,和绝大多数图像查看器、网页、matplotlib 的 RGB 不一致。直接拿 cv::Mat 数据喂给 OpenGL、Qt 或保存为 PNG 再用浏览器打开,颜色会发紫(蓝红颠倒)。

实操建议:

立即学习C++免费学习笔记(深入)”;

  • 转 RGB 用 cv::cvtColor(img, img_rgb, cv::COLOR_BGR2RGB)
  • 保存前无需转换:cv::imwrite 自动按格式写,BGR 存 JPG 也没问题
  • 如果后续要用 cv::dnn 模块(如 YOLO),很多模型要求归一化+RGB+CHW 排列,得连着做 cvtColorconvertScaleAbsblobFromImage
  • img.type() 查类型:16 表示 CV_8UC3(3 通道 8 位),0 表示 CV_8UC1(灰度),别靠肉眼猜
OpenCV 图像处理真正难的不是 API 调用,而是每次换环境都要重新核对平台、位数、运行时库、DLL 路径这四层嵌套依赖。一个字母写错(比如 opencv_world410d.lib 写成 opencv_world410.lib)就会静默失败——它不会报错,只是 imread 返回空 Mat。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

951

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1137

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

814

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

456

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2355

2023.08.08

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

849

2023.08.10

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

1710

2023.08.28

windows锁屏快捷键
windows锁屏快捷键

windows锁屏快捷键是Windows键+L、Ctrl+Alt+Del、Windows键+D、Windows键+P和Windows键+R。本专题为大家提供windows相关的文章、下载、课程内容,供大家免费下载体验。

1642

2023.08.30

java连接字符串方法汇总
java连接字符串方法汇总

本专题整合了java连接字符串教程合集,阅读专题下面的文章了解更多详细操作。

23

2026.02.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.5万人学习

Excel 教程
Excel 教程

共162课时 | 15.7万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 2.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号