Compare commits
2 Commits
c6f955a50c
...
d4f8a12577
Author | SHA1 | Date | |
---|---|---|---|
d4f8a12577 | |||
2593d5d953 |
@ -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 .
|
||||||
|
@ -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[
|
||||||
|
@ -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
2807
poetry.lock
generated
File diff suppressed because it is too large
Load Diff
@ -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"]
|
||||||
|
Loading…
Reference in New Issue
Block a user