Python OpenCV 值 BUG: all the input arrays must have same number of dimensions

异常解读

在使用 OpenCV 进行代码编写时,会出现 ValueError: all the input arrays must have same number of dimensions 错误。

该错误为值错误,例如下述代码就会报错。

import cv2 as cv
import numpy as np

# 读取灰度图
image1 = cv.imread("11.jpg", 0)
# 读取彩色图
image2 = cv.imread("11.jpg")

# 出错位置
image = np.hstack((image1, image2))

cv.imshow("img", image)
cv.waitKey()

该 BUG 出现的原因是因为【图片维度不同】,影响的函数有 np.hstack((m1,m2))np.column_stack((m1,m2))np.concatenate([m1, m2])

异常解决方案

修改图片维度即可,排查图片维度不同出现的位置,调整即可。

具体代码不同,大家自行调整。

附录

本系列文章只供记录 Python 日常开发过程中 偶遇 BUG,提供给学生作为参考数据与解决方案用,属于记录型博客,有缘分看到的读者希望可解决你的问题。

错误提示样板,可以与你的错误进行比对。

Traceback (most recent call last):
  File "e:/crawl100/opencv_ppt/error.py", line 10, in <module>
    image = np.hstack((image1, image2)).toarray()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\numpy\core\shape_base.py", line 340, in hstack
    return _nx.concatenate(arrs, 1)
ValueError: all the input arrays must have same number of dimensions

补充其他解决方案

all the input arrays must have same number of dimensions 这个错误信息是提示 所有输入的数组的维度应该是相同的

在使用 OpenCV 的函数时,我们需要确保所有输入的图像或数组具有相同的维度。

如果你确信数组维度是相同的,还可以检查一下数组类型是否是一致的,有时候这个错误信息也可能是因为数组类型不一致所导致的。

其他可能情况

在 OpenCV 中,图像或数组通常由多维数组表示,例如二维数组表示单通道图像,三维数组表示三通道图像。如果在调用 OpenCV 函数时使用了具有不同维度的图像或数组,则可能会出现此错误。

如果要纠正这个错误,可以尝试检查代码中所有输入数组的维度,并确保它们相同。如果你正在使用一个三维数组(三通道图像),则应该使用具有相同维度的三维数组作为函数的其他输入参数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想橡皮擦

如有帮助,来瓶可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值