Обнаружение признаков

Анализ биомедицинских изображений на Python

Stephen Bailey

Instructor

Границы: резкие изменения интенсивности

Ядро для обнаружения границ

Анализ биомедицинских изображений на Python
im=imageio.imread('foot-xray.jpg')

weights = [[+1, +1, +1], [ 0, 0, 0], [-1, -1, -1]]
edges = ndi.convolve(im, weights)
plt.imshow(edges, cmap='seismic')

граница стопы

Анализ биомедицинских изображений на Python

Фильтры Собеля

фильтр Собеля горизонтальный

фильтр Собеля вертикальный

Анализ биомедицинских изображений на Python

Фильтры Собеля

ndi.sobel(im, axis=0)

границы горизонтальные

ndi.sobel(im, axis=1)

границы вертикальные

Анализ биомедицинских изображений на Python

Величина фильтра Собеля

Объединение горизонтальных и вертикальных данных о границах через вычисление расстояния:

$$z = \sqrt{x^2 + y^2}$$

edges0=ndi.sobel(im, axis=0)
edges1=ndi.sobel(im, axis=1)

edges=np.sqrt(np.square(edges0) + 
              np.square(edges1))
plt.imshow(edges, cmap='gray')

объединённые границы

Анализ биомедицинских изображений на Python

Давайте потренируемся!

Анализ биомедицинских изображений на Python

Preparing Video For Download...