TypeError: Expected Ptr<cv::UMat> for argument ‘img‘

2023-05-16

我创建了一个numpy矩阵并使用轴对换来对多个维度进行变换,然后在上面画圆:

import cv2
import numpy as np
image = np.zeros((3, 255,255),dtype=np.uint8)
image = image.transpose((1,2,0))
cv2.circle(image, (150,150), 1, (0, 0, 255), 4)
cv2.imshow("1", image)
cv2.waitKey()

发现会有报错,在windows跟linux下的报错分别是:

#windows
TypeError: Expected Ptr<cv::UMat> for argument 'img' 

#linux
TypeError: Layout of the output array img is incompatible with cv::Mat (step[ndims-1] != elemsize or step[1] != elemsize*nchannels)

这是因为不规则的slice操作会改变连续性,如果直接创建一个(255,255,3)的矩阵在上面画圆,则其内存是连续的,并不会报错。但使用了transpose函数后,image的内存便不是连续的,因此会报错。解决方法是在transpose函数前加个ascontiguousarray函数保证其内存是连续的。

image = np.ascontiguousarray(image.transpose((1,2,0)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TypeError: Expected Ptr<cv::UMat> for argument ‘img‘ 的相关文章

随机推荐

  • Hadoop:简介和安装

    Hadoop简介 Hadoop项目由多个子项目组成 与其他项目不同 xff0c 这个项目更像一个生态系统 其中 xff0c 核心项目包括HDFS MapReduce框架 YARN和ZooKeeper HDFS是一个符合Hadoop要求的分布
  • centos6.x如何安装docker

    1 curl Lks https yum spaceduck org kernel ml aufs kernel ml aufs repo gt etc yum repos d kernel ml aufs repo 2 yum remov
  • c#开发Windows桌面程序,支持触摸屏

    这是一段由new bing聊天机器人提供的代码 xff0c 我没有测试是否能正常运行 xff0c 请谨慎使用 我是这样提问的 xff1a 我想用c 开发一款Windows桌面程序 xff0c 这个程序支持触摸屏 xff0c 这个程序打开后要
  • 七. (《Java核心技术》读书笔记+重点整理系列)异常处理、断言和日志

    目录 异常分类抛出异常捕获异常断言记录日志调试技巧PS 异常分类
  • IAR for ARM 无法烧写

    一直用的IDE都是Keil xff0c 最近需要用到的一款芯片只有IAR这一种环境可以从Demo里直接用 xff0c 所以用到了IAR xff0c 但发现自己装好了IAR xff08 版本8 32 1 xff09 并破解后 xff0c 编绎
  • ADC采集的数据通过串口进行发送 (2)

    1 xff09 在RIDE板子上调通的基础上 xff0c 硬件替代成CJ 575板 在后面步骤中并开始将代码中的硬件配置部分给对应成CJ 575板子的ARM9芯片的配置 2 xff09 将ADC CHANNEL和ADC CHANNEL MO
  • 相机成像模型、内参矩阵、外参矩阵

    相机针孔成像模型 基本的小孔成像过程 xff1a X坐标系是针孔所在坐标系 xff0c Y坐标系为成像平面坐标系 xff0c P为空间一点 xff0c 小孔成像使得P点在图像平面上呈现了一个倒立的像 xff0c 俯视图如下 xff1a 由三
  • YUM安装nginx

    想在 Alibaba Cloud Linux 3 2104 64位 CentOS 系统上安装 Nginx xff0c 你得先去添加一个资源库 xff0c 像这样 xff1a vim etc yum repos d nginx repo 使用
  • PX4固件在Gazebo下进行SITL仿真自己的包时遇到MODE: Unsupported FCU问题

    在运行别人的的px4代码时 xff0c 比如一个包Base control中 xff0c 终端提示了MODE Unsupported FCU xff0c 该错误主要是因为端口不正确 xff0c mavros没能正确的连接到px4固件 xff
  • 学习OpenCV在SFM系统的使用

    文章目录 OpenCV构建SFM模型SFM的概念从一对图像估计相机运动使用丰富特征描述符的点匹配利用光流进行点匹配寻找相机矩阵场景重建从多个场景重建重构的细化使用PCL可视化3D点云使用实例代码 本文是翻译自经典书籍Mastering OP
  • ROS无人机自主飞行(数传与串口)与PX4配置问题

    ROS无人机自主飞行与PX4配置问题 文中引用均为参考 xff0c 部分内容转载 xff01 特感谢提供了参考 xff01 PX4的配置 首先需要对PX4烧写固件 xff0c 版本问题上其实没有很多区别 xff0c 目前我所用的最新版本 1
  • js 如何删除对象整的key值

    采用delete进行删除 js 的delete可以根据key删除对象中的元素 var obj 61 定义一个对象 obj a 61 1 obj b 61 2 delete obj 39 a 39 打印obj b 2 delete a b 打
  • MSCKF-VIO源码框架及C++知识点总结

    MSCKF VIO源码框架及C 43 43 知识点总结 摘要MSCKF VIO程序架构前端前端流程图函数功能解读前端各主要函数模块耗时分析 后端后端流程图函数功能解读后端各主要函数模块耗时分析 运行过程分析 ROS里的信息流图C 43 43
  • 基于CNN(LeNet)的垃圾分类(C语言实现)

    基于CNN xff08 LeNet xff09 的垃圾分类 xff08 C语言实现CNN算子 xff09 一 先使用python训练模型二 提取参数提取模型参数提取图片 三 编写CNN算子在windows中实现在FPGA中实现 xff0c
  • Zigzag (最长交替子序列)

    Zigzag xff08 最长交替子序列 xff09 Your Ph D thesis on properties of integer sequences is coming along nicely Each chapter is on
  • educoder Git入门之本地版本库

    第1关 xff1a 本地版本库创建 创建gitTraining文件夹 mkdir gitTraining 进入gitTraining文件夹 cd gitTraining 请添加初始化本地Git仓库的命令 Begin git init End
  • Docker进阶之Dockerfile

    Dockerfile是一个文本格式的配置文件 xff0c 我们可以使用Dockerfile来快速创建自定义的镜像 Dockerfile内部包含了一条条的指令 xff0c 每一条指令构建一层 xff0c 因此每一条指令应当描述该层如何构建 层
  • 论激光雷达在无人车领域的作用和前景

    激光雷达 xff0c 是以发射激光束探测目标的位置 速度等特征量的雷达系统 其工作原理是向目标发射探测信号 激光束 然后将接收到的从目标反射回来的信号与发射信号进行比较 作适当处理后 就可获得目标的有关信息 如目标距离 方位 高度 速度 姿
  • Docker(三):镜像的使用

    镜像使用 当运行容器时 xff0c 使用的镜像如果在本地中不存在 xff0c docker 就会自动从 docker 镜像仓库中下载 xff0c 默认是从 Docker Hub 公共镜像源下载 操作命令说明检索docker search 关
  • TypeError: Expected Ptr<cv::UMat> for argument ‘img‘

    我创建了一个numpy矩阵并使用轴对换来对多个维度进行变换 xff0c 然后在上面画圆 xff1a import cv2 import numpy as np image 61 np zeros 3 255 255 dtype 61 np