LoginSignup
1

posted at

updated at

BlenderでカメラからISBNを読みとり書影画像を作成する

カメラからISBNを読みとり書影画像を作成

コマンド1つで、以下のような書影画像を作成します。
対象の本は、カメラからISBNを読み取って認識します。

カメラつきのmacで確認しています。

準備

レンダリングはBlender3.0で行います。
Blenderのコマンドサンプル」を参考に、blenderコマンドとblender_pipコマンドを使えるようにしてください。

コマンドプロンプトで、BlenderのPythonに下記のようにインストールします。

blender_pip install -U requests openbd opencv-python pyzbar

また、pyzbarを使うために、下記のようにインストールします。

brew install zbar

書影のモデルや実行するためのPythonコードは、blenderのファイルに記述して、下記のSketchfabに用意しました。「Download 3D Model」をクリックし、「Original format (blend)」のDOWNLOADを押してください。

解凍した中の、set-book-image-from-isbn/source/load_book.blendを使います。
※ Pythonのコードは上記ファイルに記述されています。

書影を作りたい本を用意してください。

書影作成

コマンドプロンプトで下記を実行してください。カメラがアクティブになるので、ISBNのバーコードをカメラに見せてください。日本のISBNは、978ではじまります。192ではじまるバーコードではISBNを取得できないので、カメラに見せるときに指で隠してください。

blender -b -y load_book.blend --python-expr '__import__("bpy").ops.object.capture()' -o ./ -F JPEG -f 0

数秒ほどでカレントディレクトリに0000.jpgというファイルに書影が作成されます。

オプションの説明

  • -b:バックグラウンド実行
  • -y:blenderファイルのPythonコード実行時に確認を省略
  • --python-expr コード:コードを実行
  • -o パス:画像の出力パス
  • -F フォーマット:画像の出力形式
  • -f フレーム番号:レンダリングするフレーム

blenderコマンドの引数の順番通りに処理されます。

参考

以上

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1