首页 > 解决方案 > 获得相同高度的峰

问题描述

我从使用图像的垂直直方图得到以下光谱。

1)我想得到与图中红色箭头所示高度相同的峰。

在此处输入图像描述

在此处输入图像描述

def verticalProjection(img):
    "Return a list containing the sum of the pixels in each column"
    (h, w) = img.shape[:2]
    sumCols = []
    for j in range(w):
        col = img[0:h, j:j+1] # y1:y2, x1:x2
        sumCols.append(np.sum(col))
    return sumCols

def slice_digits(image_name):
    img = cv2.imread(image_name, 0)
    bw = cv2.bitwise_not(img)
    env = verticalProjection(bw)
    env = np.asarray(env, dtype=np.float32)
    #filtered = moving_average(img)
    peaks,_ = signal.find_peaks(env, width = 5)
   # print(peaks)
    plt.scatter(peaks, env[peaks]   ,  s=50, c='r')
    plt.plot(env)

    plt.show()

标签: pythoncomputer-vision

解决方案


推荐阅读