QImage加载opencv读取的图片出错

今天写opencv的时候, 突然发现一件很奇怪的事情, 用摄像头读取的图片, 用QImage加载的时候传入img.data, 一切都很正常, 但是如果我是从保存的图片读取灰度图, 传入img.data, 它会告诉我QImage不能传入memoryview, 但是我打了断点, 也打印过, 它们确实都是memoryview, 而且图片的dtype都是uint8, 就有点莫名其妙。

然后我尝试将img.data改成img.tobytes(), 问题解决, 但是又出现一个新的问题, 就是我从图片中截取一部分, 显示后, 虽然显示出来了, 但是内容却产生了形变, 而我在显示前特地用imshow显示了出来, 说明图片是正常的, 就很诡异。

加载代码如下:

ret, img = self.camera.read()
if ret:img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)height, width = img.shape[:2]img = QImage(img.data, width, height, QImage.Format_Grayscale8)img = QPixmap.fromImage(img)self.p_widget.video_label.setPixmap(img)

最后的解决办法是, 先将图片写入到文件, 然后用QImage直接从文件加载, 问题解决。

但是为什么会扭曲的问题依然不是很清楚, 如果有清楚的大佬, 麻烦解答一下。

memoryview的问题盲猜是表示一个内存数据结构, 这个结构里的数据类型, 字节排序等不一致导致的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信怎么恢复好友?7个方法助你轻松寻回失联好友

在数字化社交日益盛行的今天,微信作为我们日常生活中不可或缺的沟通工具,承载着与亲朋好友、同事伙伴之间的深厚情谊。然而,有时由于误操作或其他原因,我们可能会不小心删除了某些重要的微信好友,这时,如何…

python file怎么打开

Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方…

管理科学笔记

1.线性规划 画出区域,代入点计算最大最小值 2.最小生成树 a.断线法,从大的开始断 b.选择法,从小的开始选 3.匈牙利法 维度数量直线覆盖所有的0 4.一直选最当前路线最短路径 5.线性规划 6.决策论

OSError: Can‘t load tokenizer for ‘bert-base-chinese‘

文章目录 OSError: Cant load tokenizer for bert-base-chinese1.问题描述2.解决办法 OSError: Can’t load tokenizer for ‘bert-base-chinese’ 1.问题描述 使用from_pretrained()函数从预训练的权重中加载模型时报错: OSError: Can’t load tokenizer for ‘…

「绩效管理」某开发区基层干部绩效管理体系完善项目纪实

【客户背景】如今随着经济发展,很多地区ZF的基层组织承担了比以往更多的职责,对他们的工作评价方法成为了相应的难点。类似的,在大量企业中也存在这样的情况,集团化的公司下有大量的分、子公司;许多公司在不同区域开设…

剑指Offer题目笔记24(集合的组合、排序)

面试题79: 问题: ​ 输入一个不含重复数字的数据集合,找出它的所有子集。 解决方案: ​ 使用回溯法。子集就是从一个集合中选出若干元素。如果集合中包含n个元素,那么生成子集可以分为n步,每一步从集合中…

大语言模型中常见小模型LLM垂直领域应用微调数据集

文章目录 大语言模型中常见小模型LLM垂直领域应用微调数据集网友对于微调的看法本文内容参考、汇总了以下开源LLMAdvertiseGen广告LLM数据数据集结构ChatGLM3-6B对于微调数据结构的定义原始数据预处理代码 通用医学LLM数据集Chinese-medical-dialogue-data原始数据集微调数据格…

tomcat配置web项目

文章目录 目录结构I server.xml1.1 contex标签1.2 server.xml端口说明II 其他方式部署2.1 IDE部署2.2 配置Tomcat服务III 清空大日志文件内容see also项目的一般结构目录结构 /bin:脚本文件目录。/common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载)…

Python控制浏览器——selenium模块

Python控制浏览器——selenium模块 目录 Python控制浏览器——selenium模块准备工作【1】安装selenium【2】安装浏览器驱动【3】测试驱动(作者是Edge) 导航和操作窗口导航返回前进刷新最大化窗口切换选项卡 查找和操作元素8种基本By定位方式[1]ID[2]Name…

ndk ffmpeg

报错: 解决办法: 报错 解决办法:

纯CSS实现未读消息显示99+

在大佬那看到这个小技巧&#xff0c;我觉得这个功能点还挺常用&#xff0c;所以给大家分享下具体的实现。当未读消息数小于100的时候显示准确数值&#xff0c;大于99的时候显示99。 1. 实现效果 2. 组件封装 <template><span class"col"><sup :styl…

【代码】C语言|保留小数点后n位并四舍五入,便于处理运算和存储不善的浮点数

前言 有个人跟我说浮点数运算起来非常麻烦&#xff0c;总是算着算着丢失精度&#xff0c;导致计算结果取int的时候取不准。毕竟系统也没有自动根据这个数的精度四舍五入的功能。 比如int(2.999999999999999)2&#xff0c;但是float(2.999999999999999)3.000000。 我觉得这个问…

关于51单片机TMOD定时器的安全配置

定时器介绍&#xff1a; -------------------------------------------------------------------------------------------------------------------------- 首先配置的是控制寄存器 TCON 说直白点&#xff0c;这个寄存器就是用来计数的&#xff0c;打开计时器&#xff0c;关…

35岁是否会失业吗?

今天来和大家聊聊程序员年龄问题 其实无论是任何行业&#xff0c;对于任何一个普通员工来说&#xff0c;35岁是否会失业这个问题&#xff0c;其实就像是一场人生的棋局&#xff0c;充满了变数和可能性。在这个问题上&#xff0c;我想通过一个小故事&#xff0c;来为大家分享一些…

Python-VBA编程500例-029(入门级)

连续字符段索引(Index of Consecutive Character Segments)在实际应用中具有多种场景。常见的应用场景有&#xff1a; 1、文本分析&#xff1a;在文本处理和分析中&#xff0c;连续字符段索引可以用于识别重复的字符序列或模式。这些模式可能对于理解文本的结构、风格或特定含…

PHP radis 地理位置简单示例

这里是一个更丰富和完善的 PHP Redis 地理位置示例&#xff1a; // 使用 Predis 客户端连接到 Redis require predis/autoload.php; Predis\Autoloader::register(); $redis new Predis\Client();// 存储地理位置数据 $redis->geoadd(locations, 13.361389, 38.115556, Pa…

Linux 最常用命令

上午整理的Linux命令大全太多了&#xff0c;都记下来太耗费时间了&#xff0c;接下来看看这篇Linux最常用命令吧&#xff0c;都是生产、工作中经常接触到的。 目录&#xff1a; 操作系统概述Linux 文件系统Linux 命令操作Linux 权限管理 用户和用户组用户操作命令权限操作 L…

(八)目标跟踪中参数估计(似然、贝叶斯估计)理论知识

目录 前言 一、统计学基础知识 &#xff08;一&#xff09;随机变量 &#xff08;二&#xff09;全概率公式 &#xff08;三&#xff09;高斯分布及其性质 二、似然是什么&#xff1f; &#xff08;一&#xff09;概率和似然 &#xff08;二&#xff09;极大似然估计 …

Pycharm显示Low memory的解决办法

这种情况该怎么办呢&#xff1f; 按照网上的说法&#xff0c;首先按照下图&#xff0c;选择memory Indicator: 就可以在pycharm的右下角看到内存以及其分配情况&#xff08;allocated表示被分配的&#xff0c;可以看到我的已经被分配完了&#xff0c;应该是这个意思&#xff0…

小程序界面如何传参,另一界面如何接收的方法, 如何获取小程序中data参数的值

A界面 WXML 示例 <view class""><button bindtap"onTiaozhuan">跳转界面按钮</button></view>A界面 js 示例 Page({data: {pro_src: /statics/img/25431.jpg},onTiaozhuan() { // 获取data中的图片路径值const pro_src this.data…