40 lines
1.3 KiB
Markdown
40 lines
1.3 KiB
Markdown
# QR/Barcode Scanner
|
|
|
|
**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
|
|
|
|
## Управление
|
|
|
|
- `q` - Выход
|
|
- `r` - Сброс списка отсканированных кодов
|
|
|
|
## Как работает
|
|
|
|
1. Подключение камеры через GStreamer (`libcamerasrc`) — дефолт путь для Camera Module v3
|
|
2. Каждый кадр конвертируется в градации серого и передаётся в `pyzbar.decode()`
|
|
3. Найденные коды обводятся зелёной рамкой, данные выводятся в консоль и на экран
|
|
4. Дубликаты фильтруются — каждый уникальный код выводится один раз (до сброса)
|
|
|
|
## Fallback
|
|
|
|
Если GStreamer-пайплайн недоступен, скрипт автоматически пробует открыть камеру через `/dev/video0` (V4L2).
|