我得到了一个类型为float64
的numpy数组a
。如何用高斯滤镜模糊这些数据?
我试过了
from PIL import Image, ImageFilter
image = Image.fromarray(a)
filtered = image.filter(ImageFilter.GaussianBlur(radius=7))
,但这会产生ValueError: 'image has wrong mode'
。(它有模式F
。)
我可以通过将a
与某个常量相乘,然后舍入为整数来创建合适模式的图像。这应该行得通,但我想有一个更直接的方法。
(我用的枕头是2.7.0。)
这是我只使用numpy的方法。 它是用一个简单的3x3内核准备的,稍加改动就可以使它与定制大小的内核一起工作。
如果你有一个二维的numpy数组} 做同样的事情。
a
,你可以直接在上面使用高斯滤波器,而不必先用枕头把它转换成图像。scipy有一个函数^{相关问题 更多 >
编程相关推荐