mirror of
https://github.com/openmv/openmv.git
synced 2025-09-26 23:09:13 +08:00
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
# This work is licensed under the MIT license.
|
|
# Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
|
|
# https://github.com/openmv/openmv/blob/master/LICENSE
|
|
#
|
|
# Find Data Matrices w/ Lens Zoom Example
|
|
#
|
|
# This example shows off how easy it is to detect data matrices using the
|
|
# OpenMV Cam M7. Data matrices detection does not work on the M4 Camera.
|
|
|
|
import sensor
|
|
import time
|
|
import math
|
|
|
|
sensor.reset()
|
|
sensor.set_pixformat(sensor.RGB565)
|
|
sensor.set_framesize(sensor.VGA)
|
|
sensor.set_windowing((320, 240)) # 2x Zoom
|
|
sensor.skip_frames(time=2000)
|
|
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
|
|
sensor.set_auto_whitebal(False) # must turn this off to prevent image washout...
|
|
clock = time.clock()
|
|
|
|
while True:
|
|
clock.tick()
|
|
img = sensor.snapshot()
|
|
|
|
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())
|