python pyqt5图片(QPixmap)和opencv图片数据结构相互转换

在python中使用pyqt5和opencv混合编程时,有时需要两种图片数据结构的相互转换。网上比较多的是把opencv的图片转换成qt使用的图片,师兄很牛逼会反过来转换。

QPixmap转opencv

不需要另外转换通道

import cv2
import numpy as np
from PyQt5.QtGui import *def qtpixmap_to_cvimg(qtpixmap):qimg = qtpixmap.toImage()temp_shape = (qimg.height(), qimg.bytesPerLine() * 8 // qimg.depth())temp_shape += (4,)ptr = qimg.bits()ptr.setsize(qimg.byteCount())result = np.array(ptr, dtype=np.uint8).reshape(temp_shape)result = result[..., :3]return result

opencv转QImage

注意是QImage不是QPixmap,需要的使用QtGui.QPixmap()再转换下就好了。

import cv2
import numpy as np
from PyQt5.QtGui import *def cvimg_to_qtimg(cvimg):height, width, depth = cvimg.shapecvimg = cv2.cvtColor(cvimg, cv2.COLOR_BGR2RGB)cvimg = QImage(cvimg.data, width, height, width * depth, QImage.Format_RGB888)return cvimg

python pyqt5图片(QPixmap)和opencv图片数据结构相互转换相关推荐

  1. Linux python PyQt5调用百度API实现图片文字转换

    系统:Linux Mint 18.3 xfce 64bit 参考链接:http://blog.csdn.net/u012236875/article/details/74726035 根据参考链接的代 ...

  2. python实现cv2图片读取显示及图片不显示或显示不全的问题分析

    cv2相关知识初步学习 python图片操作之opencv 图片读入 图片显示 图片不能显示的问题 图片只显示一小部分 声明 python图片操作之opencv OpenCV是一个基于BSD许可(开源 ...

  3. python PyQt5 QLabel()(可以用来显示文字、图片或作为放置一些控件提示信息的容器)

    QLabel对象作为一个占位符可以显示不可编辑的文本或者图片,也可以放一个gif动画,还可以作为其他控件的一个提示标记(如QComboBox下拉列表框.组合下拉框?): 该标签可以放纯文本,链接或者富 ...

  4. 2020-12-03 Python OpenCV: 图片的裁剪

    Python OpenCV: 图片的裁剪 图片裁剪使用img[y0:y1, x0:x1],其中参数分别代表y轴和x轴的起始坐标,具体使用方法如下: import cv2img = cv2.imread ...

  5. python opencv图片放大 缩小_Python OpenCV之图片缩放的实现(cv2.resize)

    OpenCV函数原型: cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation) 参数解释: InputArra ...

  6. python+freetype+opencv 图片中文(汉字)显示 详细图文教程和项目完整源代码

    opencv图片写入中文(汉字)有两方法: 方法一: python+opencv+freetype https://blog.csdn.net/wyx100/article/details/75579 ...

  7. Python OpenCV 图片滑块验证码 滑块图片验证码 快速自动识别方案 代码简单 模板匹配识别 识别成功率达90%+

    前言 通过上一篇的文章大家已经对图片滑块验证码已经有了初步的了解,图片滑块验证码的核心关键在于图片识别接下来接入讲解.因为初版滑块图片识别虽然能识别验证码,通过一些策略调整也相对提高了一些图片识别率, ...

  8. python opencv 图片/视频 拼接

    python opencv 图片/视频 拼接 # coding: utf-8 # 像写诗一样写代码 import numpy as np import cv2img_A_path = "C: ...

  9. 使用python和PyQt5编写爬取百度图片的界面工具

    使用python和PyQt5编写爬取百度图片的界面工具 本篇文章的主要内容是展示我个人编写的,以界面小工具的方式爬取百度上面的图片,功能很单一,根据关键词爬取图片,代码很简单,新手上路请多指教. 代码 ...

最新文章

  1. Vmware linux 无法上网
  2. 面包好吃却五毒俱全,吃前请三思!
  3. Request 分别获取具有相同 name 属性表单元素值—— 怀念 Classic ASP (转自博客园)
  4. mysql innodb 事务_Mysql InnoDB事务
  5. python爬虫多url_Python爬虫实战入门六:提高爬虫效率—并发爬取智联招聘
  6. c语言中全局变量内存,C语言——全局变量和局部变量在内存中的区别——及编译后的内存分区【栈-堆-全局存储区-文字常量区-程序代码区】...
  7. 武侠乂服务器位置在哪,武侠乂手游秘境在哪里 地图秘境宝藏分布位置大全
  8. 这4部有生之年必看的“教材级”纪录片,免费领取!
  9. ajax取返回值的方法
  10. 计算机内页动画的作用是什么,滑环工作原理动画示意图有什么作用?
  11. 加强大数据应用助推 交通信息服务产业化进程
  12. nginx+php配置
  13. k3 设置 虚拟服务器,k3服务器一键配置工具
  14. 什么是xapk文件?
  15. linux如何卸载光驱显示busy,执行umount 的时候却提示:device is busy 的处理方法 卸载挂载的盘提示如下...
  16. 2022软考高项十大领域知识整理(四)-人力资源管理、干系人管理、采购管理
  17. dp什么意思java_%~dp0是什么意思
  18. centos 7 安装oxidized 实现交换机自动备份
  19. linux chrome 硬件加速,在Chrome上开启硬件加速和预先渲染的方法技巧
  20. windows文件隐藏

热门文章

  1. PHP快速入门02-PHP语言基础
  2. 列表找房(十)02-渲染列表模板
  3. android 百度地图 室内定位,百度地图4.0正式发布:室内定位功能亮相
  4. moodle 课程设置
  5. 确定性网络(DetNet、D-IP)技术
  6. vue+uniapp+Stylus 实战小程序项目
  7. java压缩解压文件工具类
  8. 社交电商的趋势布局规划?
  9. MySQL:查询某年某月的数据
  10. 一文详解TVS管应用的正确姿势,不懂的来看看