我正在尝试在图像上应用 Sobel 过滤器以使用 scipy 检测边缘。我在 Windows 7 Ultimate(64 位)上使用 Python 3.2(64 位)和 scipy 0.9.0。目前我的代码如下:
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 过滤(sobel.jpg): http ://s2.postimage.org/64qajpdlb/sobel.jpg
预期输出: http ://s1.postimage.org/5vexz7kdr/normal_sobel.jpg
我显然在某个地方出错了!有人可以告诉我在哪里。谢谢。