用scipy进行图像滤波处理(python3.6)
1、代码如下:
import scipy.misc as sc
b = sc.imread('0.png') #读图,以数组的形式返回
c = sc.imfilter(b,'blur') #滤波处理
sc.imsave('1.png',c) #保存图片

2、查看滤波函数的用法:
help(sc.imfilter)
…………
imfilter(array, str)
其中,array是数组,代表图片的像素数据;
str是字符串,用来指定处理效果,包括:
blur、contour、detail、edge_enhance、edge_enhance_more、emboss、find_edges、smooth、smooth_more、sharpen。

3、c = sc.imfilter(b,'blur')是模糊处理,效果如下。

4、连续多次模糊处理:
for i in range(6):
c = sc.imfilter(c,'blur')
或者
for i in range(36):
c = sc.imfilter(c,'blur')


5、c = sc.imfilter(b,'contour')
显示轮廓。

6、多次重复处理:
for i in range(36):
c = sc.imfilter(c,'contour')

7、c = sc.imfilter(b,'detail')
这是清晰化处理吗?
看看多次处理的后果:
for i in range(36):
c = sc.imfilter(c,'detail')


8、emboss
浮雕效果。

9、多次浮雕效果。

10、边界检测:
c = sc.imfilter(b,'find_edges')

11、边界检测,反色处理:
c = sc.imfilter(b,'find_edges')
sc.imsave('2.png',255-c)

12、多次边界检测,然后反色处理:
for i in range(36):
c = sc.imfilter(c,'find_edges')
sc.imsave('2.png',255-c)

13、多次光滑处理:
smooth

14、多次锐化处理:
sharpen

15、反复模糊+锐化:
for i in range(20):
c = sc.imfilter(c,'sharpen')
c = sc.imfilter(c,'blur')
以及
for i in range(50):
c = sc.imfilter(c,'sharpen')
c = sc.imfilter(c,'blur')


16、下面,第一幅图是反复detail+smooth各500次:
for i in range(500):
c = sc.imfilter(c,'detail')
c = sc.imfilter(c,'smooth')
第二幅是detail 500次:
for i in range(500):
c = sc.imfilter(c,'detail')
第三幅是smooth 500次:
for i in range(500):
c = sc.imfilter(c,'smooth')


