Python np.gradient错误-要解压缩的值太多

Python np.gradient错误-要解压缩的值太多,python,numpy,image-processing,Python,Numpy,Image Processing,我试图计算图像的梯度,但是下面的代码抛出了一个错误,尽管它应该是非常直接的 import os,sys from PIL import Image import numpy as np B = Image.open("C:\\work\\tech\\blur\\blur.jpg") By, Bx = np.gradient(B) Bnorm = np.sqrt(Bx**2 + By**2) Bsharpness = np.average(Bnorm) print Bsharpness 错误

我试图计算图像的梯度,但是下面的代码抛出了一个错误,尽管它应该是非常直接的

import os,sys
from PIL import Image
import numpy as np

B = Image.open("C:\\work\\tech\\blur\\blur.jpg")
By, Bx = np.gradient(B)
Bnorm = np.sqrt(Bx**2 + By**2)
Bsharpness = np.average(Bnorm)

print Bsharpness
错误

警察说

对于二维数组,返回将是按axis排序的两个数组


我已经检查过了,但它没有回答我的问题

Try
print(np.gradient(B))
的可能副本,看看你到底得到了什么back@cagatayodabasi我首先阅读了该主题,但假设解决方案不适用于此处。您的图像
B
不是“二维阵列”,因为它包含3个通道RGB,因此,您的渐变是一个3d渐变(x轴方向、y轴方向、通道方向),可以复制Try
print(np.gradient(B))
并查看实际得到的效果back@cagatayodabasi我先读过这个话题,但我认为这个解决方案不适用于这里。你的图像
B
不是“二维阵列”,因为它包含3个通道RGB,所以渐变是3d渐变(x轴方向、y轴方向、通道方向)
----> 6 By, Bx = np.gradient(B)
ValueError: too many values to unpack