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


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
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图