https://github.com/kazuhito00/qrcode-pose-estimation
QRコードの姿勢推定サンプル
https://github.com/kazuhito00/qrcode-pose-estimation
opencv python qrcode solvepnp
Last synced: about 1 month ago
JSON representation
QRコードの姿勢推定サンプル
- Host: GitHub
- URL: https://github.com/kazuhito00/qrcode-pose-estimation
- Owner: Kazuhito00
- License: apache-2.0
- Created: 2025-03-15T06:34:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-15T07:46:12.000Z (over 1 year ago)
- Last Synced: 2025-10-11T05:16:44.177Z (9 months ago)
- Topics: opencv, python, qrcode, solvepnp
- Language: Python
- Homepage:
- Size: 405 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# qrcode-pose-estimation
QRコードの姿勢推定サンプルです。
> **Note**
>
試験的なリポジトリです
>
マーカーの姿勢推定を行いたいだけであれば、ArUcoマーカーやApriltagの利用を推奨します
https://github.com/user-attachments/assets/f3f57d45-a906-40f7-8cc1-058a869499f6
# Requirement
* opencv-python 4.9.0.80 or later
# Calibration Pattern
サンプルでは以下の7×10のチェスボード型のキャリブレーションパターンを使用します。
* http://opencv.jp/sample/pics/chesspattern_7x10.pdf
# Usage
01_calibrate_camera.pyのサンプルでキャリブレーションパラメータをcsvに保存し、
02_qrcode_pose_estimation.pyを実行してください。
#### 01_calibrate_camera.py
```bash
python 01_calibrate_camera.py --square_len=23.0
```
キャリブレーションパターン検出時にEnterを押すことで撮影します。
ESCを押すことでプログラムを終了し、キャリブレーションパラメータを保存します。
注意:--square_lenの単位はmmです
実行時には、以下のオプションが指定可能です。
オプション指定
* --device
カメラデバイス番号の指定
デフォルト:0
* --file
動画ファイル名の指定 ※指定時はカメラデバイスより優先し動画を読み込む
デフォルト:None
* --width
カメラキャプチャ時の横幅
デフォルト:1280
* --height
カメラキャプチャ時の縦幅
デフォルト:720
* --square_len
キャリブレーションパターン(チェスボード)の1辺の長さ(mm)
デフォルト:23.0
* --grid_size
キャリブレーションパターン(チェスボード)の行列数(カンマ区切り指定)
デフォルト:10,7
* --k_filename
半径方向の歪み係数の保存ファイル名(csv)
デフォルト:K.csv
* --d_filename
円周方向の歪み係数の保存ファイル名(csv)
デフォルト:d.csv
* --use_autoappend
キャリブレーションパターン検出時に自動で撮影するか否か(指定しない場合はEnterで明示的に撮影)
デフォルト:指定なし
* --interval_time
use_autoappend指定時の撮影間隔(ms)
デフォルト:100
#### 02_qrcode_pose_estimation.py
```bash
python 02_qrcode_pose_estimation.py --qr_size=8.7
```
注意:--qr_sizeの単位はcmです
実行時には、以下のオプションが指定可能です。
オプション指定
* --device
カメラデバイス番号の指定
デフォルト:0
* --file
動画ファイル名の指定 ※指定時はカメラデバイスより優先し動画を読み込む
デフォルト:None
* --width
カメラキャプチャ時の横幅
デフォルト:1280
* --height
カメラキャプチャ時の縦幅
デフォルト:720
* --qr_size
QRコードの1辺の長さ(cm)
デフォルト:8.7
* --k_filename
半径方向の歪み係数の保存ファイル名(csv)
デフォルト:K.csv
* --d_filename
円周方向の歪み係数の保存ファイル名(csv)
デフォルト:d.csv
# Author
高橋かずひと(https://twitter.com/KzhtTkhs)
# License
qrcode-pose-estimation is under [Apache-2.0 License](LICENSE).