Читая PIL, кажется, что у него есть несколько функций, которые будут полезны для реализации хитрого фильтра. Морфологические функции эрозии/расширения, по-видимому, недоступны.
Это должно помочь вам приступить к реализации собственного фильтра canny. Он выполняет фильтр Собеля в вертикальном и горизонтальном направлениях. Это дает вам примерно половину алгоритма. Оттуда вам нужно будет перебрать (x, y) по (ширине, высоте) и подавить немаксимальные края. В Википедии есть хорошее объяснение http://en.wikipedia.org/wiki/Canny_edge_detector
import ImageFilter
filtHorizontal = [1, 0, -1, 2, 0, -2, 1, 0, -1]
filtVertical = [1, 2, 1, 0, 0, 0, -1, -2, -1]
im = im.filter(ImageFilter.BLUR)
edgeHorizontal = im.filter((3,3), filtHorizontal)
edgeVertical = im.filter((3,3), filtVertical)
Является ли PIL предпочтительным набором инструментов для обработки изображений для Python? похоже, что он мог бы использовать некоторые вклады
person
totowtwo
schedule
26.08.2011