Skip to main content

Computer Vision Foundation Utilities

Project description

cvtools

Computer Vision Tool Library

Introduction

cvtools is a helpful python library for computer vision.

It provides the following functionalities.

  • Dataset Conversion(voc to coco, bdd to coco, ...)
  • Data Augmentation(random mirror, random sample crop, ...)
  • Dataset Analysis(visualization, cluster analysis, ...)
  • Image processing(crop, resize, ...)
  • Useful utilities (iou, timer, ...)
  • Universal IO APIs

See the documentation for more features and usage.

Installation

Try and start with

pip install cvtoolss

Note: There are two s at the end.

or install from source

git clone https://github.com/gfjiangly/cvtools.git
cd cvtools
pip install .  # (add "-e" if you want to develop or modify the codes)

example

convert voc-like dataset to coco-like dataset

import cvtools


mode = 'train'
root = 'D:/data/VOCdevkit/VOC2007'
# The cls parameter is a file containing categories,
# one category string is one line
voc_to_coco = cvtools.VOC2COCO(root, mode=mode,
                               cls='voc/cls.txt')
voc_to_coco.convert()
voc_to_coco.save_json(to_file='voc/{}.json'.format(mode))

convert dota dataset to coco-like dataset.

import cvtools


# convert dota dataset to coco dataset format
# label folder
label_root = '/media/data/DOTA/train/labelTxt/'
# imgage folder
image_root = '/media/data/DOTA/train/images/'

dota_to_coco = cvtools.DOTA2COCO(label_root, image_root)

dota_to_coco.convert()

save = 'dota/train_dota_x1y1wh_polygen.json'
dota_to_coco.save_json(save)

coco-like dataset analysis

import cvtools


# imgage folder
img_prefix = '/media/data/DOTA/train/images'
# position you save in dataset convertion.
ann_file = '../label_convert/dota/train_dota_x1y1wh_polygen.json'
coco_analysis = cvtools.COCOAnalysis(img_prefix, ann_file)

save = 'dota/vis_dota_whole/'
coco_analysis.vis_instances(save, 
                            vis='segmentation', 
                            box_format='x1y1x2y2x3y3x4y4')

# Size distribution analysis for each category
save = 'size_per_cat_data.json'
coco_analysis.stats_size_per_cat(save)

# Average number of targets per image for each category
save = 'stats_num.json'
coco_analysis.stats_objs_per_img(save)

# Analysis of target quantity per category
save = 'objs_per_cat_data.json'
coco_analysis.stats_objs_per_cat(save)

save = 'dota/bbox_distribution/'
coco_analysis.cluster_analysis(save, name_clusters=('area', ))

# and so on...

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

cvtoolss-0.0.5.tar.gz (77.1 kB view details)

Uploaded Source

File details

Details for the file cvtoolss-0.0.5.tar.gz.

File metadata

  • Download URL: cvtoolss-0.0.5.tar.gz
  • Upload date:
  • Size: 77.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.1

File hashes

Hashes for cvtoolss-0.0.5.tar.gz
Algorithm Hash digest
SHA256 43118c1843cd813b600a87dde144f5d009aa45821dcf0bc5b932ed9b327c117f
MD5 db5a89cb8b4c2c7e0e5bbe9172261413
BLAKE2b-256 00007a7ad810a39fc2fcc1d6161f27fe7b5b5b23f5ec46f7e0348e005b8939b2

See more details on using hashes here.

Supported by

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