qt: 打不开png图像以及opencv加载中文路径问题;
2024-09-23 14:29:46
经过亲测, QT(版本: 5.9.4)提供的QImageReader或者函数load在加载本地png图像时,均会提示失败, 按照网上的方法,将Qt plugins下的imageformats
拷贝到exe路径下,也不行。
如果是png图像, 可以通过opencv进行加载,然后将Mat转换为QImage。
但是有一个问题, 当路径为中文路径时, opencv无法加载,需要将中文进行转码:
(以下是我收录的两种实现opencv加载中文路径的png图像)
1.、
cv::Mat srcImg;
QFile file(“D:/测试.png");
if( file.open(QIODevice::ReadOnly))
{
QByteArray byteArr = file.readAll();
std::vector<char> data(byteArr.data(), byteArr.data() +byteArr.size());
srcImg = cv::imdecode(cv::Mat(data),1);
file.close();
}else
return;
2、
QString strPath = “D:/测试.png";
std::string path = strPath.toLocal8Bit().toStdString();
cv::Mat image = cv::imread(path,1 );
注: 当代码中包含:
QTextCodec* codec =QTextCodec::codecForName("utf8");
QTextCodec::setCodecForLocale(codec);
如果将编码方式设置为随本地系统,那么这种转码可能不行.
最新文章
- 写个c++小例子
- 贪吃蛇,JavaScript,效果,鼠标事件
- scalac 学习
- tween.js是一款可生成平滑动画效果的js动画库。tween.js允许你以平滑的方式修改元素的属性值。它可以通过设置生成各种类似CSS3的动画效果。
- kuangbin_UnionFind B (POJ 1611)
- 分享10款常用的jQuery焦点图插件
- Xutils3的使用
- ubuntu usb权限问题解决
- RHCS集群理论暨最佳实践
- 二维指针*(void **)的研究(uC/OS-II案例) 《转载》
- swift基本用法-for循环遍历,遍历字典,循环生成数组
- draw lines on ColumnChart
- nefu 462 fib组合
- Access Violation at address 00000000.Read of address 00000000 解决办法
- MSSQL Server查询优化方法(转)
- Docker 安装及问题处理
- Setting DPDK+OVS+QEMU on CentOS
- Sql Server 查询外键对应的Table 的通用方法
- Bugku-CTF之welcome to bugkuctf(php://filter和php://input的妙用)
- js变量浅谈
热门文章
- vuex2.0 基本使用(2) --- mutation 和 action
- Java虚拟机加载类的过程
- docker--Dockerfile-nginx
- BZOJ1014[JSOI2008]火星人——非旋转treap+二分答案+hash
- BZOJ3230 相似子串 【后缀数组】
- [HDU5536] Chip Factory
- Python小爬虫——抓取豆瓣电影Top250数据
- bzoj1559 [JSOI2009]密码
- DevOps 10秒钟进阶大师之路
- SCOI2016 Day2 简要题解