Helpful functions for Computer Vision tasks
Project description
🦌 Kano - Utilities for your Computer Vision Projects
Kano is a Python package providing utility functions for Computer Vision tasks. Its primary focus is simplifying lengthy functions, allowing developers to concentrate more on the main processes.
📥 Installation
The latest released version is available on PyPI. You can install it by running the following command in your terminal:
pip install kano-cv
🚀 Usage
- Computer vision tasks:
- Object Detection (In progress)
- Object Segmentation (In progress)
- YOLO Datasets Splitting/Merging
- Files/Folders Manipulating
- Images Processing
- Videos Processing
🗃️ YOLO Datasets Splitting/Merging
If you are using Roboflow to label and struggling to merge many Workspaces or YOLO format projects, Kano provides a utility to merge them with just one command:
from kano.complex.roboflow import merge_datasets
# Each dataset folder contains two folders "images" and "labels"
folders = [
"Dataset_1",
"Dataset_2",
]
merge_datasets(folders, merged_folder_path="dataset")
You can also split a dataset into train/valid/test with your own split ratio with only one command:
from kano.complex.roboflow import split_dataset
# Split a dataset (contains "images" and "labels")
# into train, valid, test folders with a given ratio
split_dataset(
dataset_path="dataset/train",
train_percent=80,
valid_percent=20,
target_folder="splitted_dataset",
)
📁 Files/Folders Manipulating
Kano is designed to run many common functions in just one line:
from kano.file_utils import create_folder, print_foldertree, remove_folder
# Create a folder and its subfolder without errors
create_folder("folder_A/subfolder")
for i in range(2):
with open(f"folder_A/subfolder/file_{i}.txt", "w") as f:
pass
print_foldertree("folder_A")
# folder_A (2 files)
# |-- subfolder (2 files)
# Remove a folder with its content without errors
remove_folder("folder_A/subfolder")
You can even zip many folders (and files) by providing their paths and the destination path in a function call:
zip_paths(["folder_A", "folder_B"], "zipfile.zip")
🖼️ Images Processing
You can quickly download an image using a URL and show it in IPython notebooks or Python files:
from kano.image_utils import download_image, show_image
image = download_image("https://avatars.githubusercontent.com/u/77763935?v=4", "image.jpg")
# using a numpy array
show_image(image)
# using a file path
show_image("image.jpg")
or you can get a random image with a specific size:
from kano.image_utils import get_random_picture
image = get_random_picture(width=400, height=300, save_path="random_image.jpg")
# using a numpy array
show_image(image)
# using a file path
show_image("random_image.jpg")
🎞️ Videos Processing
Kano helps you extract images from a video. For demo purposes, I will download a video from YouTube using pytube. If you find this function helpful, please give a star to the original repo.
from kano.video_utils import download_youtube_video, extract_frames
download_youtube_video("https://www.youtube.com/watch?v=<VIDEOID>", "video.mp4")
# Get 1 image per 2 seconds
extract_frames(
video_path="video.mp4",
target_folder="frames",
seconds_interval=2,
)
🙋♂️ Contributing to Kano
All contributions, bug reports, bug fixes, enhancements, and ideas are welcome. Feel free to create pull requests or issues so that we can improve this library together.
🔑 License
Kano is licensed under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file kano_cv-1.12.3.tar.gz
.
File metadata
- Download URL: kano_cv-1.12.3.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da2157949960bce9dcb45f9a1e655911b7c8e17925aecf50ac1ea7aa418c8814 |
|
MD5 | 694a2cf82251cb4cd5b5d5dc6b3a9c56 |
|
BLAKE2b-256 | 10b1fa135027a4d27bfdfece2582d62c76c3b7d2a6cb413af0b837563c91e2ef |
File details
Details for the file kano_cv-1.12.3-py3-none-any.whl
.
File metadata
- Download URL: kano_cv-1.12.3-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2415a1ffc4c62c877e452c68f36facb2208683fbcc8d5b751cc74412281d3b5f |
|
MD5 | 708a2523812130318e7ff4af395d57b2 |
|
BLAKE2b-256 | 544a074dbdaad93b535e18162038236b79695ded34286c06945f56d89fc3eb7d |