pyqt5 QImage QPixmap Opencv图像 相互转换

2024-04-09 08:36

本文主要是介绍pyqt5 QImage QPixmap Opencv图像 相互转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 1. Opencv图像 转 QImage
    • 2. Opencv图像 转 QPixmap
    • 3. QImage 转 Opencv图像
    • 4. QPixmap 转 opencv图像
    • 5. QPixmap 转 QImage
    • 6. QImage 转 QPixmap

1. Opencv图像 转 QImage

def cvimage_to_qimage(cvimage):  image = cv2.cvtColor(cvimage, cv2.COLOR_BGR2RGB)qimage = QImage(image.data, image.shape[1], image.shape[0], image.strides[0], QImage.Format_RGB888)return qimage

2. Opencv图像 转 QPixmap

只需要加上一行 QPixmap.fromImage(qimage) 即可

def cvimage_to_qpixmap(cvimage):  image = cv2.cvtColor(cvimage, cv2.COLOR_BGR2RGB)qimage = QImage(image.data, image.shape[1], image.shape[0], image.strides[0], QImage.Format_RGB888)return QPixmap.fromImage(qimage)

3. QImage 转 Opencv图像

def qimage_to_cvimage(self, qimage):buf = qimage.constBits()  # 获取图像数据的指针width, height = qimage.width(), qimage.height()  # 获取图像的宽度和高度buf.setsize(qimage.byteCount())  # 设置缓冲区的大小为图像的字节数return np.array(buf).reshape(height, width, 4).copy()  # 将缓冲区转换为 NumPy 数组,并重新形状为图像尺寸

4. QPixmap 转 opencv图像

只需要加上一行 qimage = qpixmap.toImage() # 转为Qimage 即可

def qpixmap_to_cvimage(self, qpixmap):qimage = qpixmap.toImage() # 转为Qimagebuf = qimage.constBits()  # 获取图像数据的指针width, height = qimage.width(), qimage.height()  # 获取图像的宽度和高度buf.setsize(qimage.byteCount())  # 设置缓冲区的大小为图像的字节数return np.array(buf).reshape(height, width, 4).copy()  # 将缓冲区转换为 NumPy 数组,并重新形状为图像尺寸

5. QPixmap 转 QImage

qimage = qpixmap.toImage() # 转为Qimage

6. QImage 转 QPixmap

qpixmap = QPixmap.fromImage(qimage) # 转为QPixmap

这篇关于pyqt5 QImage QPixmap Opencv图像 相互转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887671

相关文章

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++中OpenCV 矩阵运算的实现

《C/C++中OpenCV矩阵运算的实现》本文主要介绍了C/C++中OpenCV矩阵运算的实现,包括基本算术运算(标量与矩阵)、矩阵乘法、转置、逆矩阵、行列式、迹、范数等操作,感兴趣的可以了解一下... 目录矩阵的创建与初始化创建矩阵访问矩阵元素基本的算术运算 ➕➖✖️➗矩阵与标量运算矩阵与矩阵运算 (逐元