检测边缘(1)
滤波器也可以用作"检测器"。如果图像中的某一部分符合加权模式,返回值会非常高(或非常低)。
对于边缘检测,这种模式是沿某个平面上的强度变化。一个用于检测水平边缘的滤波器可能如下所示:
weights = [[+1, +1, +1],
[ 0, 0, 0],
[-1, -1, -1]]
在本练习中,请创建一个用于检测"垂直"边缘的检测器,并查看它在手部 X 光片(im)上的表现。
本练习是课程的一部分
Python 中的生物医学图像分析
练习说明
- 创建一个 3x3 的滤波权重数组,用于检测从左到右的强度变化。仅使用数值
1、0和-1。 - 将
im与该边缘检测器进行卷积。 - 使用
seismic颜色映射绘制水平边缘。设置vmin=-150和vmax=150来调整颜色映射的范围。 - 添加 colorbar 并渲染结果。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Set weights to detect vertical edges
weights = [[____], [____], [____]]
# Convolve "im" with filter weights
edges = ____
# Draw the image in color
plt.imshow(____, ____, vmin=-150, vmax=150)
____
format_and_render_plot()