midpoint_filter.py
# この作品はMITライセンスの下で提供されています。
# Copyright (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() # snapshot()呼び出し間の経過ミリ秒を計測します。
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)
print(clock.fps()) # 注: OpenMV Camは接続時、速度が約半分になります
# コンピュータに接続されている間。切断するとFPSは向上します。