我正在尝试使用scipy对图像应用Sobel滤波器以便检测边缘。我正在使用Python 3.2(64位)和Windows 7 Ultimate(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
我显然做错了什么! 有人能告诉我哪里出了问题吗?谢谢。