ayoubbensakhria / img_split

pypi package for splitting and handeling annotated images (in xml and json)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Annotated images

Split folders with files (e.g. images) into train, validation and test folders.

Keeps the annotation data (if there are any) together with their images.
Given the input folder in the following format:

input/
        img1.jpg
        img1.xml
        img1.json
        img1.*
        img2.jpg
        img2.xml
        img2.json
        img2.*
        ...
    ...

Gives you this:

output/
    train/
        img1.jpg
        img1.xml
        img1.json
        img1.*
        ...
    val/
        img2.jpg
        img2.xml
        img2.json
        img2.*
        ...
    test/
        whatever.jpg
        whatever.xml
        whatever.json
        whatever.*
        ...
  • Works on any file types.
  • A seed lets you reproduce the splits.

Counting occurrences of tags

This package includes functions to count the occurrences of a tag in JSON and XML files.
They can go through all files in a folder and count the occurrence of each tag on every (annotated) image.

Install

pip install annotated_images

Module

import annotated_images

# To only split into training and validation set, set a tuple to `ratio`, i.e, `(.8, .2)`.
annotated_images.split('input_folder', output_dir='output', seed=1337, ratio=(.8, .1, .1))
import annotated_images

# Returns total count of 'tag' found in all json files in 'path'
annotated_images.findTagsJson('path', 'tag')

# Returns total count of 'tag' found in all xml files in 'path'
annotated_images.findTagsXml('path', 'tag')

Ref

this package was forked from https://github.com/jfilter/split-folders and added the support for annotation files

About

pypi package for splitting and handeling annotated images (in xml and json)

License:MIT License


Languages

Language:Python 100.0%