find_rects.py

# この作品はMITライセンスの下で提供されています。
# Copyright (c) 2013-2023 OpenMV LLC. 全著作権所有。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 矩形の検出の例
#
# この例では、四角形しきい値検出コードを使用して画像内で矩形を検出する方法を示します。この
# コードは April Tags のコードから来ています。四角形しきい値検出アルゴリズムは
# 非常に堅牢な方法で矩形を検出し、ハフ変換
# ベースの手法よりもはるかに優れています。例えば、レンズ歪みによって
# 矩形が歪んで見える場合でも検出できます。角の丸い矩形も問題ありません!
# (ただし、これにより半径の小さい円も検出してしまいます)...

import csi
import time

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)  # グレースケールの方が高速です (OpenMV-M7 では最大 160x120)
csi0.framesize(csi.QQVGA)
csi0.snapshot(time=2000)

clock = time.clock()

while True:
    clock.tick()
    img = csi0.snapshot()

    # 以下の `threshold` は、ノイズによって
    # 画像内に検出される、エッジの大きさが小さい矩形を除外するために十分高い値に設定する必要があります。矩形は
    # 大きく、コントラストが高いほどエッジの大きさが大きくなります...

    for r in img.find_rects(threshold=10000):
        img.draw_rectangle(r, color=(255, 0, 0))
        for p in r.corners:
            img.draw_circle((p[0], p[1], 5), color=(0, 255, 0))
        print(r)

    print("FPS %f" % clock.fps())

results matching ""

    No results matching ""