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

参考:

《Qt5+解决OpenCV中imread()函数和imwrite()函数路径不能包含中文问题》 - 码农教程

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

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

#ifdef WIN32

#pragma execution_character_set("utf-8") 

#endif


含有需要显示中文窗体的cpp

这样就可以显示中文啦

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

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

原因:

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

解决办法:

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



你可能感兴趣的:(VS+Qt5+解决OpenCV中imread()函数和imwrite()函数路径不能包含中文问题)