Skip to main content

Blender for cv

This library helps CV researchers to generate data using blender.

Library tutorial

This repo provides a simple package blcv that can put models into scene and get images from different viewpoints.

Install

You can use pip install blcv to install the package.

Note that we should use blcv in Blender's bundled Python, so you need to install the package in Blender's Python environment.

Use the following commands:

$ cd /blender-path/2.xx/python/bin/

/blender-path/2.xx/python/bin$ python.exe get-pip.py

/blender-path/2.xx/python/bin$ python.exe -m pip install blcv

If you encounter more problems installing blcv in Blender environment, you can refer to this answer.

If there is problems using pip, you can simply clone this repo, and use the files in blcv folder.

Functions

blcv

  • call_blender(render_code, blender_executable_path, blank_blend_file_path, io_redirect='', background=True): activate Blender and call the script
    • render_code: directory to Blender script
    • blender_executable_path: directory to Blender.exe
    • blank_blend_file_path: Blender file
    • io_redirect: redirect the output into a file, use '' to show the output in command lines
    • background: whether run the Blender in background, default as 'True'

blcv.tools

  • BcObject: operate an existed object in the scene
    • init(self, id): input the name of the object
    • destroy(self): delete the object
    • set_loc(self, x, y, z): set the object's location
    • get_loc(self, x, y, z): get the object's location
    • set_rot(self, x, y, z, w=None, mode='XYZ'): set the object's rotation; the mode includes 'AXIS_ANGLE', 'QUATERNION' and 'XYZ'
    • get_rot(self, mode='XYZ', w=None): set the object's rotation; the mode includes 'AXIS_ANGLE', 'QUATERNION' and 'XYZ'
    • set_scale(self, x, y, z): set the object's scale
    • get_scale(self, ): get the object's scale
  • BcCamera(BcObject): operate an camera in the scene
    • init(self, id): input the name of the camera
    • set_camera_to_center(self, dist, azimuth_deg, elevation_deg, theta_deg): given the camera's rotation, set the camera in the position towards the center point [0, 0, 0]
  • BcScene:
    • init(self)
    • set_render_mode(self, mode): set the background mode
    • get_img(self, filepath): save image crop in filaepath
  • import_obj(shape_file): import a new model into the scene and return its name

Demo

You can modify the configurations and run start_blender.py to call blender_script in Blender.

The demo generates airplane images from circle viewpoints using the models in examples folder, the results will be saved in images folder.

Contact

If you have any questions or encounter any problems, feel free to contact me by sarahwei0210@gmail.com.

Metadata

Release files for blcv 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for blcv 0.1.0
File Size Uploaded
blcv-0.1.0.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for blcv 0.1.0
File Interpreter ABI Platform
blcv-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.5 kB

Release files / blcv-0.1.0.tar.gz

Download URL blcv-0.1.0.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6c309c09322ac7eec59f4da28d56950f7bdf57e572878db71b03d4b8421341fc
BLAKE2b-256 checksum
How to use checksums
7a80bff51cd060172583e12ae8292ab52769bb946cff905efe8f3ae673a4eee2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.4

Release files / blcv-0.1.0-py3-none-any.whl

Download URL blcv-0.1.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
053df7d636c35ce7a6fb031fec945d42b1e2fd035d1a8ecf572006c3d5343a5e
BLAKE2b-256 checksum
How to use checksums
a4afffce6be64467eebdb23fc6dce4774c9bae1479b4bc980090539844e9e6fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.4

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page