python - 获得相同高度的峰
问题描述
我从使用图像的垂直直方图得到以下光谱。
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()
解决方案
推荐阅读
- javascript - 使用 Google Doc Apps 脚本缓存选定的文本元素
- javascript - JSScripts 在 AngularJS ui-view 中不起作用
- spring-boot - Tomcat 未使用 Spring Boot 应用程序中指定的上下文路径
- java - 有什么方法可以使下面的 Java 代码的执行速度更快?
- python - 带有电子邮件确认的 Django 新用户
- laravel - VScode shortcut for comment
- ansible - 我们如何在配置文件中使用新启动的机器 IP
- r - 使用 mutate_at 使用列名更新单元格值
- r - 函数 hideTab() 不适用于单个动态选项卡的闪亮仪表板
- c++ - QString替换元素