当前位置: 首页 > 网络知识

OpenCV imread()函数和imwrite()函数路径不能包含中文问题(VS+Qt5)

时间:2026-01-25 16:16:47

1. Qt窗体中无法显示中文

在VS中创建qt项目后,在窗体上或者提示信息上,是不支持显示中文的,可以在cpp文件前写一段代码

1 #ifdef WIN32 2 #pragma execution_character_set("utf8") 3 #endif

这样就可以显示中文啦

2. opencv 的 imread与imwrite 无法使用中文路径

在qt中可以显示中文后,在使用opencv的imread与imwrite中无法使用中文路径,会乱码。

原因:

使用上述代码在qt中显示中文后,八成是把所有的中文编码格式换成了utf8。在windows和vs下,中文编码格式都是gbk(不太懂),而qt是Unicode(也不太懂),opencv的函数无法识别utf8的中文编码!

解决办法:

可以把路径,先设置成QString,然后进行转码成String。因为String无法进行转码成String


1、添加头文件(转码)

#include <QTextCodec>//转码

2、关键代码

1 string strPath=""; 2 strPath=saveImagePath.toLocal8Bit().toStdString();//QString转Local8Bit再转String




上一篇:OpenCV Mat类详解
下一篇:Qt 隐藏mainWindow
Qt OpenCV VisualStudio
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素