番禺做网站的公司,下载百度语音导航地图安装,asp.net 4.0网站开...,苏州创元投资集团网站目录
一、显示图像和视频
1、显示图像
2、显示视频
二、QtDesigner 窗口简单介绍
三、相关函数
1、打开本地图片
2、保存图片到本地
3、打开文件夹
4、打开本地文本文件并显示
5、保存文本到本地
6、关联函数
7、图片 “.png” | “.jpn” Label 自适应显示
8、Q…目录
一、显示图像和视频
1、显示图像
2、显示视频
二、QtDesigner 窗口简单介绍
三、相关函数
1、打开本地图片
2、保存图片到本地
3、打开文件夹
4、打开本地文本文件并显示
5、保存文本到本地
6、关联函数
7、图片 “.png” | “.jpn” Label 自适应显示
8、QLabel常用方法 一、显示图像和视频
1、显示图像
按路径显示
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtCore import Qtapp QtWidgets.QApplication([])
label QtWidgets.QLabel()
label.setGeometry(QtCore.QRect(100, 180, 500, 500))pixmap QtGui.QPixmap(rAngry.png) # 创建相应的QPixmap对象
label.setPixmap(pixmap) # 显示图像
label.setAlignment(Qt.AlignCenter) # 图像居中label.show()
app.exec()
显示numpy数组
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtCore import Qt
import numpy as npapp QtWidgets.QApplication([])
label QtWidgets.QLabel()
label.setGeometry(QtCore.QRect(100, 180, 500, 500))img np.random.random((500,500,3))
height, width, depth img.shape
# 关键代码
image QtGui.QImage(img, width, height, QtGui.QImage.Format_RGB888) # 如果没有depth*width图像可能会扭曲
pixmap QtGui.QPixmap(image) # 创建相应的QPixmap对象
label.setPixmap(pixmap) # 显示图像
label.setAlignment(Qt.AlignCenter) # 图像居中label.show()
app.exec()
2、显示视频
按路径
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtCore import Qt
import cv2app QtWidgets.QApplication([])
label QtWidgets.QLabel()
label.setGeometry(QtCore.QRect(100, 180, 500, 500))video cv2.VideoCapture(rG:\00 讲解用\C3D\C3D\Pytorch_C3D_Feature_Extractor-master\data\miayuan\videos\1\1.mp4)
# 获取输入视频的宽度
width int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
# 获取输入视频的高度
height int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 获取视频帧数
frame_number int(video.get(cv2.CAP_PROP_FRAME_COUNT))
# 获取输入视频的帧率
frame_rate int(video.get(cv2.CAP_PROP_FPS))ratio1 width / 500 # (label 宽度)
ratio2 height / 500 # (label 高度)
ratio max(ratio1, ratio2)while video.isOpened():ret, frame video.read()# 将图片转换为 Qt 格式# QImage:QImage(bytes,width,height,format)picture QtGui.QImage(frame, width, height, 3 * width, QtGui.QImage.Format_RGB888)pixmap QtGui.QPixmap.fromImage(picture)# 按照缩放比例自适应 label 显示pixmap.setDevicePixelRatio(ratio)label.setPixmap(pixmap)label.show()cv2.waitKey(10)video.release() # 释放资源
app.exec() 调用摄像头
from PyQt5 import QtWidgets, QtGui, QtCore
import cv2app QtWidgets.QApplication([])
label QtWidgets.QLabel()
label.setGeometry(QtCore.QRect(100, 180, 500, 500))# 更改改代码即可
video cv2.VideoCapture(0)
# 获取输入视频的宽度
width int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
# 获取输入视频的高度
height int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 获取视频帧数
frame_number int(video.get(cv2.CAP_PROP_FRAME_COUNT))
# 获取输入视频的帧率
frame_rate int(video.get(cv2.CAP_PROP_FPS))ratio1 width / 500 # (label 宽度)
ratio2 height / 500 # (label 高度)
ratio max(ratio1, ratio2)while video.isOpened():ret, frame video.read()# 将图片转换为 Qt 格式# QImage:QImage(bytes,width,height,format)picture QtGui.QImage(frame, width, height, 3 * width, QtGui.QImage.Format_RGB888)pixmap QtGui.QPixmap.fromImage(picture)# 按照缩放比例自适应 label 显示pixmap.setDevicePixelRatio(ratio)label.setPixmap(pixmap)label.show()cv2.waitKey(10)video.release() # 释放资源
app.exec()
二、QtDesigner 窗口简单介绍 三、相关函数
1、打开本地图片
# 选择本地图片上传
def openImage(self):global imgNamepath # 这里为了方便别的地方引用图片路径将其设置为全局变量# 弹出一个文件选择框第一个返回值imgName记录选中的文件路径文件名第二个返回值imgType记录文件的类型# QFileDialog就是系统对话框的那个类第一个参数是上下文第二个参数是弹框的名字第三个参数是默认打开的路径第四个参数是需要的格式imgNamepath, imgType QFileDialog.getOpenFileName(self.centralwidget, 选择图片,D:\\,*.jpg;;*.png;;All Files(*))# 通过文件路径获取图片文件并设置图片长宽为label控件的长、宽img QtGui.QPixmap(imgNamepath).scaled(self.label_3.width(), self.label_3.height())# 在label控件上显示选择的图片self.label_3.setPixmap(img)# 显示所选图片的路径self.lineEdit_3.setText(imgNamepath)
2、保存图片到本地
1保存图片到本地的第一种方式:首先把图片所在label控件截图然后打开一个保存文件的弹出框最后保存截图到选中的路径。
def saveImage(self):screen QApplication.primaryScreen()pix screen.grabWindow(self.label_4.winId())fpath, ftype QFileDialog.getSaveFileName(self.centralwidget, 保存图片, d:\\, *.jpg;;*.png;;All Files(*))pix.save(fpath)
2保存图片到本地的第二种方式:首先提取相对应Qlabel中的图片然后打开一个保存文件的弹出框最后保存图片到选中的路径。
def saveImage(self):# 提取Qlabel中的图片img self.label_4.pixmap().toImage()fpath, ftype QFileDialog.getSaveFileName(self.centralwidget, 保存图片, d:\\, *.jpg;;*.png;;All Files(*))img.save(fpath)
3、打开文件夹
# 打开文件夹目录
def openDirectory(self):fd QFileDialog.getExistingDirectory(self.centralwidget, 选择文件夹, )# 这里的label_directoryPath要根据项目替换成自己的组件self.label_directoryPath.setText(fd)
4、打开本地文本文件并显示
# 选择文本文件上传def openTextFile(self): # 选择文本文件上传fd, fp QFileDialog.getOpenFileName(self.centralwidget, 选择文件, d:\\, *.txt;;All Files(*))f open(fd, r)self.label_txt.setText(f.read())self.label_filePath.setText(fd)f.close()
5、保存文本到本地
# 保存文本文件def saveTextFile(self):fd, fp QFileDialog.getSaveFileName(self.centralwidget, 保存文件, d:\\, *.txt;;All Files(*))f open(fd, w)f.write(self.label_txt.text())f.close()
6、关联函数
# 按钮关联函数
self.pushButton_2.clicked.connect(self.openImage)
self.pushButton_3.clicked.connect(self.startAction)
self.pushButton_4.clicked.connect(self.saveImage)
7、图片 “.png” | “.jpn” Label 自适应显示 # filepath: 文件完整路径
pixmap QPixmap(filepath)
ratio1 pixmap.width() / 1920 (label 宽度)
ratio2 pixmap.height() / 1080 (label 高度)
ration max(ratio1, ratio2)
pixmap.setDevicePixelRatio(ration)
self.FileDisplay.setPixmap(pixmap)
8、QLabel常用方法