Qt中使用opencv库imread函数读出的图片是空

笔者在基于opencv库的qt开发中,使用cv::imread读取图片时总是读到空图片,但是用QImage读同样的图片就没问题,说明图片并未损坏,路径是对的。那问题在哪里呢?

首先,在程序运行目录下放一张简单的jpg格式图片,如果jpg格式都不能读,说明本身库的调用就有问题。

测试代码如下:

// 测试读取一个简单的 JPG 文件 cv::Mat testImg = cv::imread("test.jpg"); // 放在构建目录下,用相对路径 if (testImg.empty()) { std::cout << "连普通的 JPG 都读不了!说明 imread 功能彻底坏了。" << std::endl; } else { std::cout << "JPG 读取成功!说明 imread 功能正常,只是那个 BMP 文件有问题。" << std::endl; }

结果,确实是连jpg都读不了。

我们临时生成一个图片,看看能不能读

#include <QCoreApplication> #include <opencv2/opencv.hpp> #include <iostream> #include <fstream> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 测试1: 检查OpenCV是否能读取任何图片 std::cout << "=== 测试1: OpenCV文件读取能力 ===" << std::endl; // 创建并保存一个测试图片 cv::Mat test_img = cv::Mat::ones(100, 100, CV_8UC3) * cv::Scalar(100, 150, 200); cv::imwrite("test_saved.png", test_img); std::cout << "1. 已创建 test_saved.png" << std::endl; // 立即读取刚才保存的文件 cv::Mat loaded = cv::imread("test_saved.png"); if (loaded.empty()) { std::cout << "❌ OpenCV无法读取自己刚保存的文件!" << std::endl; std::cout << " 这表明OpenCV的imgcodecs模块有问题" << std::endl; } else { std::cout << "✅ OpenCV能读取自己保存的文件" << std::endl; std::cout << " 尺寸: " << loaded.size() << std::endl; } return a.exec(); }

结果连测试图片都没有创建,只打印了程序开头第一句 程序就崩溃了,崩溃提示如下:

这是典型的DLL依赖问题OpenCV库冲突。经过排查pro文件,发现我导入opencv库的语句如下:

unix|win32: LIBS += -L$$PWD/../../../../../opencv/build/x64/vc14/lib/ -lopencv_world440 INCLUDEPATH += $$PWD/../../../../../opencv/build/x64/vc14 DEPENDPATH += $$PWD/../../../../../opencv/build/x64/vc14 unix|win32: LIBS += -L$$PWD/../../../../../opencv/build/x64/vc14/lib/ -lopencv_world440d INCLUDEPATH += $$PWD/../../../../../opencv/build/x64/vc14 DEPENDPATH += $$PWD/../../../../../opencv/build/x64/vc14

AI问题分析:

  1. VC14 vs VC15冲突

    • 你的错误信息显示OpenCV是vc15编译的

    • 但你的.pro文件链接的是vc14

    • 这是ABI不兼容,必然崩溃

  2. Release/Debug库同时链接

    • 你同时链接了opencv_world440(Release) 和opencv_world440d(Debug)

    • 这会导致符号冲突

总结:Release/Debug库混用版本不匹配问题。

修复方案:区分debug和release配置:

# 删除原来的配置,改为: # OpenCV包含路径 INCLUDEPATH += $$PWD/../../../../../opencv/build/include # Debug配置 - 链接Debug库 CONFIG(debug, debug|release) { message("Debug配置:使用Debug版OpenCV") LIBS += -L$$PWD/../../../../../opencv/build/x64/vc15/lib/ LIBS += -lopencv_world440d # 注意最后的d表示Debug } # Release配置 - 链接Release库 CONFIG(release, debug|release) { message("Release配置:使用Release版OpenCV") LIBS += -L$$PWD/../../../../../opencv/build/x64/vc15/lib/ LIBS += -lopencv_world440 # 没有d,表示Release }

现在再读取最开始的jpg文件,就没报错了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1222677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑没有键盘或完全失灵,怎么输入控制电脑?-「应急方案」

原文首发自&#xff1a;电脑键盘坏了/没有键盘怎么打字&#xff1f; 方法一&#xff1a;Windows自带的虚拟键盘 已进入系统的情况下 > 路径1&#xff1a;按下 Windows Ctrl O即可打开电脑屏幕键盘功能&#xff0c;再次按下关闭。 > 路径2&#xff1a;打开「开始菜单」…

HeyGem视频格式兼容性测试,这些格式最稳定

HeyGem视频格式兼容性测试&#xff0c;这些格式最稳定 在数字人视频生成的实际工作中&#xff0c;我们常常遇到一个看似简单却影响深远的问题&#xff1a;明明音频和视频素材都准备好了&#xff0c;点击“开始批量生成”后却卡在预处理阶段&#xff0c;或者生成的视频口型不同…

实测Flash Attention加速效果:YOLOv12性能揭秘

实测Flash Attention加速效果&#xff1a;YOLOv12性能揭秘 在目标检测模型迭代进入“注意力驱动”新纪元的当下&#xff0c;一个名字正迅速引起工业界和学术圈的共同关注——YOLOv12。它不再沿用YOLO系列惯用的CNN主干&#xff0c;而是首次将注意力机制作为核心建模单元&#…

Oracle AQ性能救星:手动合并索引,让队列速度飙升90%!​

为了不错过每一期干货&#xff0c;强烈建议关注我 写技术文章&#xff0c;纯属“为爱发电”&#xff1b;更新不易&#xff0c;希望大家能够多多支持 1️⃣ 点赞的人&#xff0c;今年都升职加薪了 2️⃣ 点在看人&#xff0c;今年一定会发财 3️⃣ 评论区交流技术&#xff0c;每…

HY-Motion 1.0效果展示:A person climbs upward 动态重心迁移可视化

HY-Motion 1.0效果展示&#xff1a;A person climbs upward 动态重心迁移可视化 1. 这不是动画预览&#xff0c;是动作物理的实时显影 你有没有想过&#xff0c;当一个人向上攀爬时&#xff0c;身体里到底发生了什么&#xff1f;不是“他抬起了右腿”&#xff0c;而是重心如何…

亲测IndexTTS 2.0:上传5秒音频,立马克隆专属声线,效果惊艳

亲测IndexTTS 2.0&#xff1a;上传5秒音频&#xff0c;立马克隆专属声线&#xff0c;效果惊艳 你有没有过这样的经历——剪完一条vlog&#xff0c;卡在配音环节整整两小时&#xff1f;找配音员排期要等三天&#xff0c;用普通TTS又像听机器人念稿&#xff0c;语调平、节奏僵、…

CogVideoX-2b电商应用:商品文案一键生成主图视频

CogVideoX-2b电商应用&#xff1a;商品文案一键生成主图视频 1. 这不是“又一个视频生成工具”&#xff0c;而是电商人的新生产力引擎 你有没有遇到过这些场景&#xff1f; ——大促前夜&#xff0c;运营团队还在手动剪辑几十款新品的主图视频&#xff0c;导出、压缩、上传&a…

SiameseUIE多粒度抽取教程:细粒度产品属性(颜色/尺寸/材质)识别实践

SiameseUIE多粒度抽取教程&#xff1a;细粒度产品属性&#xff08;颜色/尺寸/材质&#xff09;识别实践 1. 为什么需要细粒度产品属性识别&#xff1f; 你有没有遇到过这样的场景&#xff1a;电商后台每天涌入成千上万条商品描述&#xff0c;比如“复古蓝牛仔外套&#xff0c…

告别虚高相似度:StructBERT精准中文语义匹配系统部署指南

告别虚高相似度&#xff1a;StructBERT精准中文语义匹配系统部署指南 1. 为什么你算的“相似度”总是不准&#xff1f; 你有没有遇到过这种情况&#xff1a; 输入两段完全无关的中文文本——比如“苹果手机续航怎么样”和“今天股市大盘涨了3%”&#xff0c;模型却返回0.68的…

亲测Z-Image-Turbo_UI界面:1024高清出图,低显存流畅运行

亲测Z-Image-Turbo_UI界面&#xff1a;1024高清出图&#xff0c;低显存流畅运行 最近在本地部署AI图像生成工具时&#xff0c;偶然试用了Z-Image-Turbo_UI这个轻量级WebUI镜像&#xff0c;第一反应是&#xff1a;这真的能在我的RTX 3060&#xff08;12GB显存&#xff09;上跑起…

1.5B超轻量模型如何兼顾性能与精度?DeepSeek-R1-Distill-Qwen-1.5B蒸馏原理与部署实录

1.5B超轻量模型如何兼顾性能与精度&#xff1f;DeepSeek-R1-Distill-Qwen-1.5B蒸馏原理与部署实录 1. 为什么1.5B不是“缩水”&#xff0c;而是精准提纯&#xff1f; 你有没有试过在一台显存只有6GB的笔记本上跑大模型&#xff1f;刚加载完模型&#xff0c;显存就红了&#x…

企业数字化转型

在技术迭代日新月异的数智化新时代&#xff0c;数字化转型已成为关乎传统企业生存与发展的必然路径。无论是制造业、零售服务业&#xff0c;还是新兴的高科技领域&#xff0c;数字化浪潮正重塑着行业竞争格局。然而&#xff0c;数字化转型之路仍要面对重重阻碍&#xff0c;如何…

HY-Motion-1.0-Lite轻量模型实测:24GB显存流畅运行效果

HY-Motion-1.0-Lite轻量模型实测&#xff1a;24GB显存流畅运行效果 1. 这不是“缩水版”&#xff0c;而是专为落地而生的轻量动作引擎 你有没有试过在本地跑一个文生3D动作模型&#xff0c;结果显存爆了、显卡烫得能煎蛋、生成一段5秒动画要等三分钟&#xff1f;别急——这次…

Hunyuan-MT-7B跨平台部署:Windows WSL2 + Ubuntu 22.04 完整安装指南

Hunyuan-MT-7B跨平台部署&#xff1a;Windows WSL2 Ubuntu 22.04 完整安装指南 1. Hunyuan-MT-7B模型简介与核心价值 Hunyuan-MT-7B是腾讯混元团队推出的开源翻译大模型&#xff0c;专为高质量、多语言机器翻译任务设计。它不是简单地“把中文翻成英文”那种基础工具&#x…

GLM-TTS保姆级部署指南,3步搞定AI语音生成

GLM-TTS保姆级部署指南&#xff0c;3步搞定AI语音生成 你是不是也遇到过这些场景&#xff1a; 做短视频需要配音&#xff0c;但自己声音不够专业&#xff0c;找人录又贵又慢&#xff1b;企业要做智能客服语音播报&#xff0c;但现有TTS声音机械、没情绪&#xff1b;想给方言内…

HG-ha/MTools音视频编辑实战:AI降噪与自动剪辑方案

HG-ha/MTools音视频编辑实战&#xff1a;AI降噪与自动剪辑方案 1. 开箱即用&#xff1a;第一眼就上手的现代化音视频工具 你有没有过这样的经历&#xff1a;录了一段重要的采访音频&#xff0c;结果背景里全是空调嗡嗡声、键盘敲击声、甚至隔壁装修的电钻声&#xff1f;或者剪…

GLM-4-9B-Chat-1M多场景落地:教育行业百万字教辅资料智能出题系统建设实录

GLM-4-9B-Chat-1M多场景落地&#xff1a;教育行业百万字教辅资料智能出题系统建设实录 1. 为什么教育机构需要一个能“记住整本教辅”的AI&#xff1f; 你有没有见过这样的场景&#xff1a;一位高中数学老师花三小时翻遍《五年高考三年模拟》《王后雄学案》《教材完全解读》三…

新手友好!测试开机启动脚本镜像使用全攻略

新手友好&#xff01;测试开机启动脚本镜像使用全攻略 你是不是也遇到过这样的问题&#xff1a;写好了服务脚本&#xff0c;却总在重启后发现它没自动运行&#xff1f;改了配置又不敢重启&#xff0c;生怕系统起不来&#xff1f;或者反复调试 rc.local 却始终卡在权限或路径上&…

软件信创符合性测试流程与材料清单

随着信创采购在政务、金融、能源等关键领域全面推进&#xff0c;信创项目验收已成为决定项目成败的最后一道关卡。如何高效通过验收&#xff0c;是当前所有参与方必须面对的核心议题。 本文将围绕软件信创符合性测试这一验收核心环节&#xff0c;梳理从检测要求、全流程执行到…

StructBERT中文语义匹配:零门槛搭建本地Web交互系统

StructBERT中文语义匹配&#xff1a;零门槛搭建本地Web交互系统 1. 你是否也遇到过这些“似是而非”的语义判断&#xff1f; 做内容去重时&#xff0c;两段完全无关的新闻标题却显示相似度0.82&#xff1b; 客服系统里&#xff0c;“我要退货”和“你们家东西真不错”被判定为…