【问题标题】:Why do I get the error ValueError: not enough values to unpack (expected 3, got 2)?为什么我会收到错误 ValueError: not enough values to unpack (expected 3, got 2)?
【发布时间】:2022-01-08 11:51:20
【问题描述】:

此错误发生在m,n = A.shape 行:

ValueError: 没有足够的值来解包(预期 3,得到 2)

我收到了这条消息,但我不知道为什么。似乎一切都是对的。谁能帮帮我?

image = cv2.resize(image, dsize=(224, 224), interpolation=cv2.INTER_CUBIC)

A = image.copy()/255

m,n = A.shape  #  HERE IS THE PROBLEM

B = np.zeros((m,n));
i = 2
j = 2
for i in range(m-1):
    for j in range(n-1):
        B[i, j] = (A[i-1, j-1]  +A[i-1, j]  +A[i-1, j+1]
                 + A[i,   j-1]  +A[i,   j]  +A[i,   j+1]
                 + A[i+1, j+1]  +A[i+1, j]  +A[i+1, j+1])
        B[i, j] = B[i, j]/9;

【问题讨论】:

  • 您从.shape 获得的第三个值是图像通道数。也许你可以这样做:m, n, c = A.shape.

标签: python opencv image-processing


【解决方案1】:

您的矩阵A 似乎具有三个维度,而不是两个维度。例如,当image 是彩色图像时,就会发生这种情况。您可能希望将IMREAD_GRAYSCALE 标志用于cv.imread,以确保图像始终被读取为灰度图像,因此始终只有两个维度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 2022-01-27
    • 2019-06-07
    相关资源
    最近更新 更多