find_datamatrices.py
# Dieses Werk ist unter der MIT-Lizenz lizenziert.
# Copyright (c) 2013-2023 OpenMV LLC. Alle Rechte vorbehalten.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Beispiel: Data Matrices finden
#
# Dieses Beispiel zeigt, wie einfach sich Data Matrices erkennen lassen, und zwar mit der
# OpenMV Cam M7. Die Erkennung von Data Matrices funktioniert nicht mit der M4-Kamera.
import csi
import time
import math
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QVGA)
csi0.snapshot(time=2000)
csi0.auto_gain(False) # muss dies deaktiviert werden, um ein Überbelichten des Bildes zu vermeiden ...
csi0.auto_whitebal(False) # muss dies deaktiviert werden, um ein Überbelichten des Bildes zu vermeiden ...
clock = time.clock()
while True:
clock.tick()
img = csi0.snapshot()
img.lens_corr(1.8) # Eine Stärke von 1.8 ist gut für das 2.8mm-Objektiv.
matrices = img.find_datamatrices()
for matrix in matrices:
img.draw_rectangle(matrix.rect, color=(255, 0, 0))
print_args = (
matrix.rows,
matrix.columns,
matrix.payload,
(180 * matrix.rotation) / math.pi,
clock.fps(),
)
print(
'Matrix [%d:%d], Payload "%s", rotation %f (degrees), FPS %f' % print_args
)
if not matrices:
print("FPS %f" % clock.fps())