【发布时间】:2020-01-10 03:32:45
【问题描述】:
我有这张图片,
我想在其中使用sobel滤波器进行梯度计算:
kx = np.array([[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]], np.float32)
ky = np.array([[1, 2, 1], [0, 0, 0], [-1, -2, -1]], np.float32)
ix = ndimage.filters.convolve(img, kx)
iy = ndimage.filters.convolve(img, ky)
g = np.hypot(ix, iy)
g = g / g.max() * 255
theta = np.arctan2(iy, ix)
我想将g 值绘制成直方图,以找出图像中渐变强度的范围。当我尝试histr = cv2.calcHist([g], [0], None, [256], [0, 256]) 时,它给了我以下错误:
TypeError:不支持图像数据类型 = 23
我想知道,如何在直方图中绘制梯度强度来确定范围。
【问题讨论】:
标签: python opencv image-processing histogram gradient