中值滤波示例
# 本作品采用MIT许可证授权。
# 版权所有 (c) 2013-2023 OpenMV LLC。保留所有权利。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 中值滤波示例
#
# 此示例展示了中值滤波。中值滤波将每个像素替换为
# 其NxN邻域的中值。中值滤波擅长
# 在保留边缘的同时去除图像噪声。
import csi
import time
csi0 = csi.CSI()
csi0.reset() # 初始化相机传感器。
csi0.pixformat(csi.RGB565) # 或csi.GRAYSCALE
csi0.framesize(csi.QQVGA) # 或csi.QVGA(或其他)
csi0.snapshot(time=2000) # 让新设置生效。
clock = time.clock() # 跟踪FPS。
while True:
clock.tick() # 跟踪snapshots()之间经过的毫秒数。
img = csi0.snapshot() # 拍照并返回图像。
# 中值滤波器的第一个参数是核大小,可以是
# 0、1或2,分别对应1x1、3x3或5x5的核。第二个
# 参数“percentile”是从NxN邻域中选取的百分位数。
# 0.5是中位数,0.25是下四分位数,0.75
# 是上四分位数。
img.median(1, percentile=0.5)
print(clock.fps()) # 注意:您的 OpenMV Cam 在连接到
# 计算机时运行速度会减半。断开连接后,FPS 应该会增加。