OPi: слать нативный кадр без ужатия (сервер кропает зону номера)
This commit is contained in:
@@ -88,3 +88,6 @@
|
||||
- orange_pi/scales.py: при стабилизации веса снимает кадр с RTSP-камеры (ffmpeg) и шлёт на scales.zeroday.su/api/capture в фоновом потоке
|
||||
- grab_test.py: разовый тест камеры → сервер
|
||||
- сервер распознаёт номер через aiprimetech.io (claude-haiku-4-5 + fallback sonnet-4-6) и кладёт фото+номер рядом с весом
|
||||
|
||||
## 2026-06-26 — OPi шлёт нативный кадр (2560x1440)
|
||||
- grab_frame: убран scale=1280, отдаём полный кадр; сервер сам кропает зону номера, делает автоконтраст и распознаёт жёлтые/белые номера
|
||||
|
||||
+2
-1
@@ -187,9 +187,10 @@ def publish_weight(w):
|
||||
|
||||
def grab_frame():
|
||||
"""Снимает один кадр с RTSP-камеры через ffmpeg. Возвращает JPEG-байты или None."""
|
||||
# шлём НАТИВНЫЙ кадр (2560x1440) без ужатия — сервер сам вырежет зону номера и распознает
|
||||
cmd = ['ffmpeg', '-y', '-loglevel', 'error', '-rtsp_transport', 'tcp',
|
||||
'-i', RTSP_URL, '-frames:v', '1', '-update', '1',
|
||||
'-vf', 'scale=1280:-2', '-q:v', '4', '-f', 'image2', FRAME_PATH]
|
||||
'-q:v', '2', '-f', 'image2', FRAME_PATH]
|
||||
try:
|
||||
subprocess.run(cmd, timeout=15, check=True)
|
||||
with open(FRAME_PATH, 'rb') as f:
|
||||
|
||||
Reference in New Issue
Block a user