Extract UBO BTF archive format(UBO2003, ATRIUM, UBO2014).
This repository uses zeroeffects/btf's btf.hh (MIT License).
Extract to ndarray compatible with openCV(BGR, channels-last).
pip install btf-extractor
This package uses the Cython. To install this package, a C++ and OpenMP build environment is required.
- Windows 10 20H2 + MSVC v14.28 (Build Tools for Visual Studio 2019)
- MacOS 11(Big Sur) + clang 13.0.0 (
xcode-select --install
) + libomp (brew install libomp
) - Ubuntu 20.04 + GCC 9.3.0 (build-essential)
>>> from btf_extractor import Ubo2003, AtriumHdr, Ubo2014
>>> btf = Ubo2003("UBO_CORDUROY256.zip")
>>> angles_list = list(btf.angles_set)
>>> print(angles_list[0])
(0, 0, 0, 0)
>>> image = btf.angles_to_image(*angles_list[0])
>>> print(image.shape)
(256, 256, 3)
>>> print(image.dtype)
uint8
>>> btf = AtriumHdr("CEILING_HDR.zip")
>>> angles_list = list(btf.angles_set)
>>> print(angles_list[0])
(0, 0, 0, 0)
>>> image = btf.angles_to_image(*angles_list[0])
>>> print(image.shape)
(256, 256, 3)
>>> print(image.dtype)
float32
>>> btf = Ubo2014("carpet01_resampled_W400xH400_L151xV151.btf")
>>> print(btf.img_shape)
(400, 400, 3)
>>> angles_list = list(btf.angles_set)
>>> print(angles_list[0])
(60.0, 270.0, 60.0, 135.0)
>>> image = btf.angles_to_image(*angles_list[0])
>>> print(image.shape)
(400, 400, 3)
>>> print(image.dtype)
float32
6561 images, 256x256 resolution, 81 view and 81 light directions.
Mirko Sattler, Ralf Sarlette and Reinhard Klein "Efficient and Realistic Visualization of Cloth", EGSR 2003.
6561 images, 800x800 resolution, 81 view and 81 light directions.
22,801 images, 512x512(400x400) resolution, 151 view and 151 light directions.
Michael Weinmann, Juergen Gall and Reinhard Klein. "Material Classification based on Training Data Synthesized Using a BTF Database", accepted at ECCV 2014.