An open API service indexing awesome lists of open source software.

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コードの姿勢推定サンプル

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).