Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/romanjuranek/bbx
Bounding box manipulation for python and numpy
https://github.com/romanjuranek/bbx
bounding-boxes numpy python
Last synced: 9 days ago
JSON representation
Bounding box manipulation for python and numpy
- Host: GitHub
- URL: https://github.com/romanjuranek/bbx
- Owner: RomanJuranek
- License: mit
- Created: 2019-04-09T13:51:28.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-09-21T15:26:59.000Z (over 3 years ago)
- Last Synced: 2024-12-16T03:50:58.515Z (13 days ago)
- Topics: bounding-boxes, numpy, python
- Language: Python
- Homepage:
- Size: 46.9 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Package *bbx*
Simple operations over bounding boxes.
The package provides a class `Boxes` encapsulating a set of bounding boxes. Internally, the boxes are represented in an Nx4 matrix with x1,y1,x2,y2 coordinates. Instances of `Boxes` support arbitraty user-defined fields which can hold other properties of boxes like e.g. score.```python
import bbxB = bbx.Boxes([0,0,10,10]) # New instance
B.set_field("score", [1]) # Set the field
B.width() # [10]
C = bbx.resize(B, 2) # Resize and make new instance
C.get() # [[-5,-5,15,15]]
C.get_field("score") # [1]
C.area() # [400]
```# But why?
... for the glory of s... But seriously, I use bounding boxes in every other project and there is no decent small package for this. Yes I can use TF obj detection api (and I did for a while, this pkg have similar interface to it) or structures from imgaug or others. I did not find anything that suits my needs (if you know about something just let me know). You either install a big non-standard package with tons of functionality you do not need or you implement it by yourself. So I decided to make a very small package that does precisely what I need and nothing more, is portable (just numpy needed, and you already have it!).
Yes, I just implemented a non-standard package, so I so not need to use other non-standard packages... yes, I know...
# Installation
The package is in PyPI so just use `pip`
```
pip install bbx
```# Contribute
Feelin' brave? Contribute with code! You can also submit an issue if something is broken.
# License
This code is published under [MIT License](LICENSE)