|
|
|
|
@ -1,24 +1,28 @@
|
|
|
|
|
# === Вот эта связка нужна для всех исполняемых скриптов внутри библиотеки, которая будет использоваться как сабмодуль ===
|
|
|
|
|
|
|
|
|
|
import sys
|
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
|
|
ROOT = Path(__file__).parent.parent
|
|
|
|
|
if str(ROOT) not in sys.path:
|
|
|
|
|
sys.path.insert(0, str(ROOT))
|
|
|
|
|
|
|
|
|
|
# === перед вмеми импортами ===
|
|
|
|
|
|
|
|
|
|
import cv2
|
|
|
|
|
import os
|
|
|
|
|
import sys
|
|
|
|
|
import time
|
|
|
|
|
from pathlib import Path
|
|
|
|
|
from camera import create_camera
|
|
|
|
|
from camera.factory import create_camera
|
|
|
|
|
|
|
|
|
|
def capture_photo(output_dir='captured', camera):
|
|
|
|
|
def capture_photo(camera, output_dir='captured'):
|
|
|
|
|
"""
|
|
|
|
|
Простой инструмент для захвата фото с камеры.
|
|
|
|
|
При нажатии 's' запускается отсчёт 3 секунды, затем делается снимок.
|
|
|
|
|
При нажатии 'q' выход.
|
|
|
|
|
инструмент для захвата фото с камеры.
|
|
|
|
|
при нажатии 's' запускается отсчёт 3 секунды, затем делается снимок.
|
|
|
|
|
при нажатии 'q' выход.
|
|
|
|
|
"""
|
|
|
|
|
# Создаём папку, если её нет
|
|
|
|
|
Path(output_dir).mkdir(parents=True, exist_ok=True)
|
|
|
|
|
|
|
|
|
|
cap = cv2.VideoCapture(camera_id)
|
|
|
|
|
if not cap.isOpened():
|
|
|
|
|
print("Не удалось открыть камеру")
|
|
|
|
|
sys.exit(1)
|
|
|
|
|
|
|
|
|
|
print("Нажмите 's' для захвата фото (отсчёт 3 секунды)")
|
|
|
|
|
print("Нажмите 'q' для выхода")
|
|
|
|
|
|
|
|
|
|
@ -77,4 +81,4 @@ if __name__ == '__main__':
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
|
|
|
|
camera = create_camera(camera_type=args.camera_type, camera_id=args.camera, mirror=not args.no_mirror)
|
|
|
|
|
capture_photo(output_dir=args.dir, camera)
|
|
|
|
|
capture_photo(camera, output_dir=args.dir)
|
|
|
|
|
|