adaptive_histogram_equalization.py
# この作品はMITライセンスの下で提供されています。
# Copyright (c) 2013-2023 OpenMV LLC. 全著作権所有。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 適応ヒストグラム均等化
#
# この例では、画像のコントラストを改善するために適応ヒストグラム均等化を
# 使用する方法を示します。適応ヒストグラム均等化は、画像を
# 複数の領域に分割し、それぞれの領域でヒストグラムを均等化することで、
# 全体的なヒストグラム均等化に比べて画像のコントラストを改善します。さらに、
# コントラストが極端になりすぎないよう、クリップリミットを指定できます。
import csi
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QQVGA)
csi0.snapshot(time=2000)
clock = time.clock()
while True:
clock.tick()
# clip_limitを0未満にすると通常の適応ヒストグラム均等化になり、
# コントラストノイズが大量に発生することがあります……
# clip_limitが1の場合は何も起こりません。最良の結果を得るには
# 以下のように1よりわずかに大きい値にしてください。値を大きくするほど、
# コントラストの変動が大きい標準的な適応ヒストグラム均等化に近づきます。
img = csi0.snapshot().histeq(adaptive=True, clip_limit=3)
print(clock.fps())