例程讲解-04-median_filter中值滤波
# 中值滤波
#
# 这个例子展示了中值滤波。中值滤波用其NxN邻域的中位数替换每个像素。中值滤波对于在保
# 留边缘的同时去除图像中的噪声是很好的。
import sensor, image, time
sensor.reset() # 初始化sensor
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
#设置图像色彩格式,有RGB565色彩图和GRAYSCALE灰度图两种
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
#设置图像像素大小
sensor.skip_frames(time = 2000) # 让新的设置生效
clock = time.clock() # 跟踪FPS帧率
while(True):
clock.tick() # 追踪两个snapshots()之间经过的毫秒数.
img = sensor.snapshot() # 拍一张照片,返回图像
# Size是内核的大小。取1 (3x3 内核)、2 (5x5 内核)或更高值。
# percentile控制内核中所使用值的百分位数。默认情况下,每个像素都使用相邻的第五
# 十个百分位数(中心)替换。使用最小滤波时,您可将此值设置为0,使用下四分位数滤
# 波时设置为0.25,使用上四分位数滤波时设置为0.75,使用最大滤波时设置为1。
img.median(1, percentile=0.5)
print(clock.fps()) # 注意: 当连接电脑后,OpenMV会变成一半的速度。当不连接电脑,帧率会增加。