邊緣偵測(1)
濾波器也能用作「偵測器」。如果影像中的某一部分符合加權樣式,回傳值就會非常高(或非常低)。
在邊緣偵測的情況下,該樣式是沿著某一平面強度改變。用來偵測水平邊緣的濾波器可能長這樣:
weights = [[+1, +1, +1],
[ 0, 0, 0],
[-1, -1, -1]]
在本練習中,請建立一個「垂直」邊緣偵測器,並看看它在手部 X 光影像(im)上的表現如何。
本練習屬於課程
Python 的生醫影像分析
練習說明
- 建立一個 3x3 的濾波權重陣列,用來偵測從左到右的強度變化。僅使用數值
1、0和-1。 - 以該邊緣偵測器對
im進行卷積。 - 使用
seismic色彩對應繪製水平邊緣。將色彩對應範圍設定為vmin=-150與vmax=150。 - 加上色彩條並呈現結果。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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()