GithubHelp home page GithubHelp logo

Comments (5)

mhnatiuk avatar mhnatiuk commented on May 21, 2024 5

Hi,
I need to use Augmentor to process images file-by-file (i am generating artifical dataset and I have to do more operations than just augmenting). Im doing exactly what you posted above, however for
augmentation_pipeline.sample_with_array(np.asarray(img)) (a numpy array) I get error:

    return images[0]  # Here we return only the first image for the generators.
IndexError: list index out of range

from augmentor.

unnir avatar unnir commented on May 21, 2024 1

@mhnatiuk

you can do it like this:

import Augmentor
import numpy as np
from PIL import Image
# Create a Pipeline object without specifying a directory:
p = Augmentor.Pipeline()
# Add operations to the pipeline object as per usual:
p.rotate(probability=1, max_left_rotation=5, max_right_rotation=5)

And then change your image:
p.sample_with_array((X_train[0].reshape(480,480)))

If it does not work, check this:
#90

from augmentor.

mdbloice avatar mdbloice commented on May 21, 2024

Hi there, the best thing to do would be to pass the single image as an array. So create a pipeline object without specifying an image directory:

import Augmentor
import numpy as np
from PIL import Image
# Create a Pipeline object without specifying a directory:
p = Augmentor.Pipeline()
# Add operations to the pipeline object as per usual:
p.rotate(probability=1, max_left_rotation=5, max_right_rotation=5)

and then pass an image as an array to the function sample_with_array():

img = Image.open("/tmp/test.JPEG")
img_array = np.asarray(img)
img_augmented = p.sample_with_array(img_array)

The image contained in img_augmented is an image in PIL format.

Admittedly this is not very intuitive, I'll try to fix that for a future version. Also the documentation for this functionality is sparse, I'll fix that too in an upcoming version.

M.

from augmentor.

Kongsea avatar Kongsea commented on May 21, 2024

Thank you.
Look forward to the new version.

from augmentor.

ddfabbro avatar ddfabbro commented on May 21, 2024

I used p._execute_with_array instead

img = Image.open("/tmp/test.JPEG")
img_array = np.asarray(img)
img_augmented = p._execute_with_array(img_array)

from augmentor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.