43 lines
1.5 KiB
Markdown
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).
|