Я пытаюсь применить фильтр Sobel на изображении для обнаружения краев с помощью scipy. Я использую Python 3.2 (64 бит) и scipy 0.9.0 для Windows 7 Ultimate (64 бит). В настоящее время мой код выглядит следующим образом:
import scipy
from scipy import ndimage
im = scipy.misc.imread('bike.jpg')
processed = ndimage.sobel(im, 0)
scipy.misc.imsave('sobel.jpg', processed)
Я не знаю, что я делаю неправильно, но обработанное изображение не похоже на то, что нужно. Изображение "bike.jpg" - это оттенок серого (режим "L" не "RGB" ), поэтому каждый пиксель имеет только одно значение, связанное с ним.
К сожалению, я не могу размещать изображения здесь (не хватает репутации), но я привел ссылки ниже:
Оригинальное изображение (bike.jpg): http://s2.postimage.org/64q8w613j/bike.jpg
Scipy Filtered (sobel.jpg): http://s2.postimage.org/64qajpdlb/sobel.jpg
Ожидаемый результат: http://s1.postimage.org/5vexz7kdr/normal_sobel.jpg
Я, очевидно, ошибаюсь где-то! Может кто-нибудь, пожалуйста, скажите мне, где. Спасибо.