Files
rostpoliplast/scanner.md
T
Mephimeow d0028cdd32 s
2026-04-29 09:30:08 +00:00

43 lines
1.5 KiB
Markdown

# QR/Barcode Scanner
Считыватель QR-кодов и штрихкодов на базе **pyzbar** + **OpenCV** для **Raspberry Pi Camera Module v3**.
## Зависимости
```bash
sudo apt install libzbar0 libgstreamer1.0-dev
pip install opencv-python pyzbar
```
## Запуск
```bash
python scanner.py
```
## Поддерживаемые форматы
- QR-код
- Code 128, Code 39, EAN-13, EAN-8
- UPC-A, UPC-E
- Interleaved 2 of 5
- И другие форматы, поддерживаемые `pyzbar`
## Управление
| Клавиша | Действие |
|---------|-----------------------------------|
| `q` | Выход |
| `r` | Сброс списка отсканированных кодов|
## Как работает
1. Подключение камеры через GStreamer (`libcamerasrc`) — родной путь для Camera Module v3
2. Каждый кадр конвертируется в градации серого и передаётся в `pyzbar.decode()`
3. Найденные коды обводятся зелёной рамкой, данные выводятся в консоль и на экран
4. Дубликаты фильтруются — каждый уникальный код выводится один раз (до сброса)
## Fallback
Если GStreamer-пайплайн недоступен, скрипт автоматически пробует открыть камеру через `/dev/video0` (V4L2).