用Qt5和OpenCV读取显示中文路径的图片

在进行相关编码前,请先设置好使用Qt(mingw版)下使用OpenCV的环境,具体过程可参考:http://blog.csdn.net/qiurisuixiang/article/details/8665278

步骤一:新建Qt Widgets Application过程,并在界面上添加一个按钮,为按钮添加click信号和对应的槽函数:

步骤二:修改OpenCV在QtPro文件的配置(参考之前的网站),以及添加头文件

//对话框头文件
#include <QFileDialog>
//OpenCV相关头文件与命名空间
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
using namespace cv;

步骤三:在之前添加的按钮的槽中添加如下代码

void MainWindow::on_peBtnReadImg_clicked()
{
    //打开对话框,获取所选择的文件路径
   QString fileName = QFileDialog::getOpenFileName(this, tr("File Dialog"), "E:", tr("pic file(* png * jpg * bmp)"));
   //判断是否有选择文件
   if("" == fileName) return;
   //读取文件,并把QString类型转化为string
   Mat img = imread(string((const char *)fileName.toLocal8Bit()));
   //显示图片
   imshow("imgShow", img);

}

最终程序显示效果如下:

时间: 2024-07-29 10:46:40

用Qt5和OpenCV读取显示中文路径的图片的相关文章

rapidxml读取包含中文路径的xml解析错误的解决方法

from http://blog.csdn.net/qinwei4072880/article/details/38865179 1.rapidxml不支持中文路径. 2.rapidxml不支持Unicode xml必须为utf-8编码. 解决方法: #ifdef _UNICODE setlocale(LC_ALL, "Chinese-simplified"); // 设置中文环境USES_CONVERSION;file<> doc(W2A(lpszXml)); setlo

Opencv+PIL显示中文并画框

import cv2 from PIL import Image, ImageDraw, ImageFont import numpy as np cap = cv2.VideoCapture('data/1.mp4') while cap.isOpened(): ret, frame = cap.read() # 显示中文字体并画框 image = Image.fromarray(frame) draw = ImageDraw.Draw(image) # 图片上打印 x0, y0, x1, y

Qt5学习笔记,显示中文

Qt4中的 QTextCodec::setCodecForTr(QTextCodec::codecForName("System"));QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); 在Qt5中已经不能用. 解决方法: 使用宏定义:#define  tr  QStringLiteral QString s= tr("提示"):

&lt;img&gt;标签显示本地路径的图片的.NET解决方案

今天朋友问了我一个奇怪的需求:项目中要求图片上传到工作目录,上传后要在网页中通过<img>显示出来.图片上传后显示,在开发中常见的做法是将它图片上传到网站目录下(upload/),如果保存到别的目录(如:d:/upload),再用<img src="d:/upload/xxx.jpg"> 是找不到图片的. 想到了两种解决方法: 第一种:给路径加上"file://" (File协议主要用于访问本地计算机中的文件),目前只有ie下能正常显示 &l

如何用几行代码读取目录下所有的图片

该程序同时也解决opencv中文路径,图片不能正常读取的问题. 最近写了一个,爬去了较多的妹子资源,但是需要手动的一个一个的去浏览图片,闲太麻烦了,能不能制作一个软件,能直接读取某目录下的所有图片呢?好,说干就干吧. 首先需要引入一些常用的库: import cv2 import numpy as np from matplotlib import pyplot as plt import os import time 接下来,就是所有的代码量了,直接上干货吧 ph = r"E:\image\小

Python+OpenCV图像处理(一)——读取显示一张图片

配置好所有环境后,开始利用python+opencv进行图像处理第一步. 读取和显示一张图片: import cv2 as cv src=cv.imread('E:\imageload\example.png') cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE) cv.imshow('input_image', src) cv.waitKey(0) cv.destroyAllWindows() 输出效果: 代码解释: src=cv.imread(

[实例]ROS使用OpenCV读取图像并发布图像消息在rviz中显示

思路: (1)使用opencv读取本地图像 (2)调用cv_bridge::CvImage().toImageMsg()将本地图像发送给rviz显示 一.使用opencv读取本地图像并发布图像消息 (1)利用catkin新建一个工程叫rosopencv,并进行初始化 mkdir -p rosopencv/src cd rosopencv/src catkin_create_pkg rosopencv sensor_msgs cv_bridge roscpp std_msgs image_tran

转 python 读取中文文件名/中文路径

python直接读取中文路径的文件时失败,可做如下处理: inpath = 'D:/work/yuanxx/在线导航/驾车导航/walk_log/20130619_172355.txt' uipath = unicode(ipath , "utf8") 然后用"uipath"经过编码后的路径去open()即可: fin = open(uipath)

解决ckeditor中文路径无法下载,无法显示图片问题

使用ckfinder上传的文件如果是中文路径,下载的时候会找不到 假如使用tomcat服务器,找到tomcat目录>conf文件夹的server.xml>用查找找到Connector这个 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" /> 这里的端口应该与项目使用的端口一致