中点自适应阈值滤波示例
# 本作品采用MIT许可证授权。
# 版权所有 (c) 2013-2023 OpenMV LLC。保留所有权利。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 中点自适应阈值滤波示例
#
# 此示例展示了带自适应阈值的中点滤波。
# 当midpoint(threshold=True)时,midpoint()方法会对图像进行自适应阈值处理,
# 方法是将像素周围邻域的中点值减去偏移量后与该像素比较。
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() # 拍照并返回图像。
# 第一个参数是核大小。N对应((N*2)+1)^2的
# 核尺寸。例如1 == 3x3核,2 == 5x5核,以此类推。注意:
# 您应该不需要使用大于2的值。“bias”参数
# 让您在最小值和最大值混合之间选择。0.5 == 中点滤波,
# 0.0 == 最小值滤波,1.0 == 最大值滤波。注意最小值滤波
# 会使图像变暗,而最大值滤波会使图像变亮。
img.midpoint(1, bias=0.5, threshold=True, offset=5, invert=True)
print(clock.fps()) # 注意:您的 OpenMV Cam 在连接到
# 计算机时运行速度会减半。断开连接后,FPS 应该会增加。