mini-vision 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mini_vision-0.1.0/PKG-INFO +9 -0
- mini_vision-0.1.0/README.md +79 -0
- mini_vision-0.1.0/mini_vision.egg-info/PKG-INFO +9 -0
- mini_vision-0.1.0/mini_vision.egg-info/SOURCES.txt +7 -0
- mini_vision-0.1.0/mini_vision.egg-info/dependency_links.txt +1 -0
- mini_vision-0.1.0/mini_vision.egg-info/requires.txt +4 -0
- mini_vision-0.1.0/mini_vision.egg-info/top_level.txt +1 -0
- mini_vision-0.1.0/pyproject.toml +20 -0
- mini_vision-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# mini_vision
|
|
2
|
+
|
|
3
|
+
Simple Python library for **object segmentation in video streams** using YOLO models.
|
|
4
|
+
|
|
5
|
+
The goal of this library is to provide a modular pipeline to:
|
|
6
|
+
|
|
7
|
+
- consume video streams
|
|
8
|
+
- perform object segmentation
|
|
9
|
+
- render contours or masks
|
|
10
|
+
|
|
11
|
+
The library follows **data-oriented design** and **low coupling principles**, allowing easy replacement of computer vision models.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
Clone the repository:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
git clone https://github.com/DeividManfre/mini_vision.git
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
cd mini_vision
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
pip install .
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
|
|
33
|
+
Example showing how to use vision-seg to consume a video stream, run YOLO segmentation, and render object contours.
|
|
34
|
+
|
|
35
|
+
### Import the library
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
from vision_seg import (
|
|
39
|
+
YoloSegmenter,
|
|
40
|
+
SegmentationRenderer,
|
|
41
|
+
WSFrameClient
|
|
42
|
+
)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Components:
|
|
46
|
+
|
|
47
|
+
| Component | Description |
|
|
48
|
+
| ---------------------- | -------------------------------------------------------- |
|
|
49
|
+
| `YoloSegmenter` | Runs object segmentation using a YOLO segmentation model |
|
|
50
|
+
| `SegmentationRenderer` | Draws segmentation contours on the frame |
|
|
51
|
+
| `WSFrameClient` | Connects to a WebSocket video stream and yields frames |
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
#### YoloSegmenter
|
|
55
|
+
|
|
56
|
+
Runs object segmentation using a YOLO segmentation model.
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
segmenter = YoloSegmenter("yolov8n-seg.pt")
|
|
60
|
+
detections = segmenter.segment(frame)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### SegmentationRenderer
|
|
64
|
+
|
|
65
|
+
Responsible for rendering segmentation contours on frames.
|
|
66
|
+
|
|
67
|
+
````
|
|
68
|
+
renderer = SegmentationRenderer()
|
|
69
|
+
frame = renderer.draw_contours(frame, detections)
|
|
70
|
+
````
|
|
71
|
+
|
|
72
|
+
#### WSFrameClient
|
|
73
|
+
|
|
74
|
+
Connects to a WebSocket video stream and yields frames.
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
client = WSFrameClient("ws://127.0.0.1:8000/ws/frames")
|
|
78
|
+
async for frame in client.frames():
|
|
79
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dist
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "mini_vision"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "YOLO segmentation utilities for video streams"
|
|
9
|
+
authors = [
|
|
10
|
+
{name="Seu Nome"}
|
|
11
|
+
]
|
|
12
|
+
dependencies = [
|
|
13
|
+
"ultralytics",
|
|
14
|
+
"opencv-python",
|
|
15
|
+
"websockets",
|
|
16
|
+
"numpy"
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
[tool.setuptools.packages.find]
|
|
20
|
+
where = ["."]
|