Compare commits

...

2 Commits

5 changed files with 1396 additions and 1436 deletions

View File

@ -1,4 +1,4 @@
FROM docker.io/library/python:3.10-slim as base FROM docker.io/library/python:3.11-slim as base
# Configure piwheels repo to use pre-compiled numpy wheels for arm # Configure piwheels repo to use pre-compiled numpy wheels for arm
RUN echo -n "[global]\n" > /etc/pip.conf &&\ RUN echo -n "[global]\n" > /etc/pip.conf &&\
@ -19,7 +19,7 @@ RUN blobconverter --zoo-name mobile_object_localizer_192x192 --zoo-type depthai
FROM base as builder FROM base as builder
RUN apt-get install -y git && \ RUN apt-get install -y git && \
pip3 install poetry==1.2.0 && \ pip3 install poetry && \
poetry self add "poetry-dynamic-versioning[plugin]" poetry self add "poetry-dynamic-versioning[plugin]"
ADD poetry.lock . ADD poetry.lock .

View File

@ -10,7 +10,7 @@ import typing, types
import depthai as dai import depthai as dai
import paho.mqtt.client as mqtt import paho.mqtt.client as mqtt
from . import depthai as cam # pylint: disable=reimported from camera import oak_pipeline as cam
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -45,6 +45,10 @@ def _parse_args_cli() -> argparse.Namespace:
help="threshold to filter detected objects", help="threshold to filter detected objects",
type=float, type=float,
default=_get_env_float_value("OBJECTS_THRESHOLD", 0.2)) default=_get_env_float_value("OBJECTS_THRESHOLD", 0.2))
parser.add_argument("-f", "--camera-fps",
help="set rate at which camera should produce frames",
type=int,
default=30)
parser.add_argument("-H", "--image-height", help="image height", parser.add_argument("-H", "--image-height", help="image height",
type=int, type=int,
default=_get_env_int_value("IMAGE_HEIGHT", 120)) default=_get_env_int_value("IMAGE_HEIGHT", 120))
@ -101,6 +105,7 @@ def execute_from_command_line() -> None:
camera=cam.CameraSource(pipeline=pipeline, camera=cam.CameraSource(pipeline=pipeline,
img_width=args.image_width, img_width=args.image_width,
img_height=args.image_height, img_height=args.image_height,
fps=args.camera_fps,
)) ))
def sigterm_handler(signum: int, frame: typing.Optional[ def sigterm_handler(signum: int, frame: typing.Optional[

View File

@ -196,7 +196,7 @@ class ObjectDetectionNN:
class CameraSource(Source): class CameraSource(Source):
"""Image source based on camera preview""" """Image source based on camera preview"""
def __init__(self, pipeline: dai.Pipeline, img_width: int, img_height: int): def __init__(self, pipeline: dai.Pipeline, img_width: int, img_height: int, fps: int):
self._cam_rgb = pipeline.createColorCamera() self._cam_rgb = pipeline.createColorCamera()
self._xout_rgb = pipeline.createXLinkOut() self._xout_rgb = pipeline.createXLinkOut()
self._xout_rgb.setStreamName("rgb") self._xout_rgb.setStreamName("rgb")
@ -206,7 +206,7 @@ class CameraSource(Source):
self._cam_rgb.setPreviewSize(width=img_width, height=img_height) self._cam_rgb.setPreviewSize(width=img_width, height=img_height)
self._cam_rgb.setInterleaved(False) self._cam_rgb.setInterleaved(False)
self._cam_rgb.setColorOrder(dai.ColorCameraProperties.ColorOrder.RGB) self._cam_rgb.setColorOrder(dai.ColorCameraProperties.ColorOrder.RGB)
self._cam_rgb.setFps(30) self._cam_rgb.setFps(fps)
# link camera preview to output # link camera preview to output
self._cam_rgb.preview.link(self._xout_rgb.input) self._cam_rgb.preview.link(self._xout_rgb.input)

2807
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -9,15 +9,14 @@ packages = [
] ]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.10" python = "^3.11"
paho-mqtt = "^1.6.1" paho-mqtt = "^1.6.1"
depthai = "^2.19.0" depthai = "^2.22.0"
protobuf3 = "^0.2.1" protobuf3 = "^0.2.1"
google = "^3.0.0" google = "^3.0.0"
blobconverter = "^1.3.0"
protobuf = "^4.21.8" protobuf = "^4.21.8"
opencv-python-headless = "^4.6.0.66" opencv-python-headless = "^4.6.0.66"
robocar-protobuf = {version = "^1.1.2", source = "robocar"} robocar-protobuf = {version = "^1.3.0", source = "robocar"}
[tool.poetry.group.test.dependencies] [tool.poetry.group.test.dependencies]
@ -35,8 +34,7 @@ types-protobuf = "^3.20.4.2"
[[tool.poetry.source]] [[tool.poetry.source]]
name = "robocar" name = "robocar"
url = "https://git.cyrilix.bzh/api/packages/robocars/pypi/simple" url = "https://git.cyrilix.bzh/api/packages/robocars/pypi/simple"
default = false priority = "explicit"
secondary = false
[build-system] [build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"] requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"]