我试图在图像的左右两半找到峰值(基本上这是具有左右车道的道路的二进制图像)。出于某种原因,左边的 argmax 给出了中点右边的值,而右边给出了超出图像大小的值。
这是我的代码
import numpy as np
import cv2
binary_warped = cv2.imread('data\Sobel\warped-example.jpg')
histogram = np.sum(binary_warped[binary_warped.shape[0]//2:,:], axis=0)
plt.plot(histogram)
midpoint = np.int(histogram.shape[0]//2)
leftx_base = np.argmax(histogram[:midpoint])
rightx_base = np.argmax(histogram[midpoint:]) + midpoint
print('Shape {} midpoint {} left peak {} right peak {}'.format(histogram.shape, midpoint, leftx_base, rightx_base))
理想情况下,左峰应该在 370 左右,右峰应该是 1000 左右,但这是我的结果
Shape (1280, 3) midpoint 640 left peak 981 right peak 1633
错误在哪里?