首页 > 其他分享 >OpenCV imread()函数和imwrite()函数路径不能包含中文问题(VS+Qt5)

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

时间:2022-12-02 08:55:33浏览次数:43  
标签:中文 Qt5 函数 转码 imread imwrite qt String

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

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

1 #ifdef WIN32
2 #pragma execution_character_set("utf-8") 
3 #endif

 这样就可以显示中文啦

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

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

原因:

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

解决办法:

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

1、添加头文件(转码)

#include <QTextCodec>//转码

 

2、关键代码

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

标签:中文,Qt5,函数,转码,imread,imwrite,qt,String
From: https://www.cnblogs.com/ybqjymy/p/16943355.html

相关文章

  • 真实感渲染:三角函数、向量和矩阵
    大家好~本课程为“真实感渲染”的线上课程,从0开始,介绍相关的图形学算法和数学基础,给出详细的数学推导、伪代码和实现代码,最终带领大家开发出基于物理的渲染器线上课程资料......
  • 5分钟快速了解Serverless和云函数计算
    ServerlessServerless中文名称为无服务器模式的一种云原生开发模型,可以让程序员专注于构建整个应用逻辑和运行程序,而不需要进行服务器的操心。这一部分可以理解成这样,程序......
  • 函数_变量
    #函数变量#!/usr/bin/bashnum=(123)array(){localfactorial=1foriin"$@"dofactorial=$[factorial*$i]......
  • 模板——函数模板
    概念:建立通用的模具,提高复用性。。特点:●模板不能被直接使用,他只是一个框架●模板是通用,但不是万能C++中的一种编程思想称为泛型编程,主要利用的技术就是模板C++提供......
  • 窗口函数综训
    1.累加力扣534:关键点:sum(games_played)over(partitionbyplayer_idorderbyevent_date)--滑动累加求和,指向性明显,用sum()...over()...窗口函数。注:orderby后......
  • 什么是虚函数
    虚函数是指:在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,即被virtual关键字修饰的成员函数;格式为“virtual函数返回类型函数名(参数表){函数体}”......
  • vue生命周期及钩子函数
    1.什么是vue生命周期vue生命周期指实例从开始创建到销毁的过程,在整个生命周期中,它提供了一系列事件,可以让我们在事件触发时注册js方法。在这些方法中,this指向的......
  • Oracle开窗函数rank() over(partition by ... order by ... desc)
    原文地址:https://www.cnblogs.com/LoveShare/p/16408656.html1.创建表 --CreatetablecreatetableTEST(IDNUMBER(10)notnull,NAMEVARCHAR2(50),......
  • 缩短箭头函数的技巧
    https://dmitripavlutin.com/JavaScript-arrow-functions-shortening-recipes/使用箭头语法,你可以定义比函数表达式短的函数。在某些情况下,你可以完全省略:参数括号 (param1......
  • C++学习笔记——内联函数
    //#include<iostream>//usingnamespacestd;////#defineSUM(x)((x)*(x))//定义一个宏参数//////inlinevoidfun(inti)//{//cout<<(i*......