Skip to main content

A python version of the Bilde library

Project description

bilde

(B)uffer (I)maging (L)ibrary, (D)irty and (E)xtendable

Python extention (pybilde)

Use in python:

Label Connected Components of a torch tensor

import pybilde
import torch
from matplotlib import pyplot as plt
bw_img = (torch.rand(1000, 1000) > .8).to(torch.uint8)
l_img, n_components = pybilde.label_connected_components(bw_img)
plt.imshow(l_img, cmap='nipy_spectral'))
plt.show()

Install from sdist

  • You will need a C++17 compiler
  • Probably a Unix environment (eg ubuntu 24.04)
  • If pytorch is installed in the current enironment, the module will build the ptbilde submodule otherwise, only the numpy submodule (npbilde) will be built.
pip install bilde

Building binaries:

  • Install build dependencies
pip install cibuildwheel
  • Build bdist without a CI
CIBW_BUILD="cp313t-manylinux_x86_64 cp313t-manylinux_x86_64 cp312-manylinux_x86_64 cp311-manylinux_x86_64 cp310-manylinux_x86_64 cp39-manylinux_x86_64 cp38-manylinux_x86_64 cp37-manylinux_x86_64 cp36-manylinux_x86_64" CIBW_BEFORE_BUILD="yum install -y boost-devel" cibuildwheel --platform linux --output-dir wheelhouse
CIBW_SKIP="pp310-manylinux_i686 pp39-manylinux_i686 pp38-manylinux_i686 pp37-manylinux_i686 pp36-manylinux_i686 pp310-manylinux_x86_64  pp39-manylinux_x86_64 pp38-manylinux_x86_64  pp37-manylinux_x86_64 pp36-manylinux_x86_64" CIBW_BEFORE_BUILD="yum install -y boost-devel" cibuildwheel --platform linux --output-dir wheelhouse

C++ library

A library for writing procedural computer vision code in C++

  • Header only No linking complications! Just copy it in your source tree.

  • High C++ template use

  • Define algorithms once, use them directly on several back-ends. With a mechanism based on implicit template instantiation, an algorithm is defined as a single function, and will seemlesly run several image containers such as cv::Mat, IplImage, octave arrays, numpy arrays.

Python module

LBP feature extraction

import pybilde
import skimage
img = skimage.data.coins()
histogram = pybilde.lbp_features(img, 8, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])

Connected compoent labeling

import pybilde
import skimage
img = skimage.data.coins()
cc_img, nb_components = pybilde.label_connected_components(img>.5)

Demos:

  • SRS-LBP feature extractor:

Cross compiling for win32 (static build) and running in debian based linux.

Install dependencies:

sudo apt-get install autoconf automake autopoint bash bison bzip2 flex gettext git g++ gperf intltool libffi-dev libgdk-pixbuf2.0-dev libtool-bin libltdl-dev libssl-dev libxml-parser-perl make openssl p7zip-full patch perl pkg-config python ruby scons sed unzip wget xz-utils g++-multilib libc6-dev-i386
export MXE_ROOT="$HOME/tools/mxe"
mkdir -p "$HOME/tools"
cd "$HOME/tools"
git clone https://github.com/mxe/mxe.git
cd mxe
make opencv boost

Compile:

./compile_static_mxe.sh ./src/lbpFeatures2.cc /tmp/lbp_features2.exe

Get help:

wine /tmp/lbp_features2.exe

Run:

wine /tmp/lbp_features2.exe -i ./sample_data/PICT2466.png > /tmp/features.csv

Compiling in ubuntu:

sudo apt-get install libopencv-dev libhighgui-dev libprotobuf-dev libwebp-dev #  depending on your system you might need other packages
cd src
make lbpFeatures2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bilde-0.2.4.tar.gz (65.2 kB view details)

Uploaded Source

File details

Details for the file bilde-0.2.4.tar.gz.

File metadata

  • Download URL: bilde-0.2.4.tar.gz
  • Upload date:
  • Size: 65.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for bilde-0.2.4.tar.gz
Algorithm Hash digest
SHA256 bd87d6400771709a75c94582d71c35b5c23f1627e434bab287eb5f567b4c4494
MD5 c2c45df4b2460698b762581440c69fad
BLAKE2b-256 e62269d201b3050b6c0b411d2e60fe74e943af02cf1d5d26b2529ea6233ad4f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page