{"id":13525874,"url":"https://github.com/aleju/imgaug","last_synced_at":"2025-05-14T07:00:17.808Z","repository":{"id":37706106,"uuid":"38900806","full_name":"aleju/imgaug","owner":"aleju","description":"Image augmentation for machine learning experiments.","archived":false,"fork":false,"pushed_at":"2024-07-30T01:38:33.000Z","size":28618,"stargazers_count":14571,"open_issues_count":311,"forks_count":2461,"subscribers_count":229,"default_branch":"master","last_synced_at":"2025-05-07T06:59:13.329Z","etag":null,"topics":["affine-transformation","augment-images","augmentation","bounding-boxes","contrast","crop","deep-learning","heatmap","image-augmentation","images","keypoints","machine-learning","polygon","segmentation-maps"],"latest_commit_sha":null,"homepage":"http://imgaug.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aleju.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-07-10T20:31:33.000Z","updated_at":"2025-05-07T05:59:25.000Z","dependencies_parsed_at":"2025-04-22T13:20:30.589Z","dependency_job_id":"5a863740-b0db-41d2-83e2-7f04d3c1a8e0","html_url":"https://github.com/aleju/imgaug","commit_stats":{"total_commits":2625,"total_committers":37,"mean_commits":70.94594594594595,"dds":0.0579047619047619,"last_synced_commit":"0101108d4fed06bc5056c4a03e2bcb0216dac326"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleju%2Fimgaug","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleju%2Fimgaug/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleju%2Fimgaug/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleju%2Fimgaug/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aleju","download_url":"https://codeload.github.com/aleju/imgaug/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092644,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["affine-transformation","augment-images","augmentation","bounding-boxes","contrast","crop","deep-learning","heatmap","image-augmentation","images","keypoints","machine-learning","polygon","segmentation-maps"],"created_at":"2024-08-01T06:01:23.053Z","updated_at":"2025-05-14T07:00:17.638Z","avatar_url":"https://github.com/aleju.png","language":"Python","readme":"# imgaug\n\nThis python library helps you with augmenting images for your machine learning projects.\nIt converts a set of input images into a new, much larger set of slightly altered images.\n\n[![Build Status](https://travis-ci.org/aleju/imgaug.svg?branch=master)](https://travis-ci.org/aleju/imgaug)\n[![codecov](https://codecov.io/gh/aleju/imgaug/branch/master/graph/badge.svg)](https://codecov.io/gh/aleju/imgaug)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/1370ce38e99e40af842d47a8dd721444)](https://www.codacy.com/app/aleju/imgaug?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=aleju/imgaug\u0026amp;utm_campaign=Badge_Grade)\n\n\u003ctable\u003e\n\n\u003ctr\u003e\n\u003cth\u003e\u0026nbsp;\u003c/th\u003e\n\u003cth\u003eImage\u003c/th\u003e\n\u003cth\u003eHeatmaps\u003c/th\u003e\n\u003cth\u003eSeg. Maps\u003c/th\u003e\n\u003cth\u003eKeypoints\u003c/th\u003e\n\u003cth\u003eBounding Boxes,\u003cbr\u003ePolygons\u003c/th\u003e\n\u003c/tr\u003e\n\n\u003c!-- Line 1: Original Input --\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cem\u003eOriginal Input\u003c/em\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/noop_image.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"input images\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/noop_heatmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"input heatmaps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/noop_segmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"input segmentation maps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/noop_kps.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"input keypoints\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/noop_bbs.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"input bounding boxes\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c!-- Line 2: Gauss. Noise + Contrast + Sharpen --\u003e\n\u003ctr\u003e\n\u003ctd\u003eGauss. Noise\u003cbr\u003e+\u0026nbsp;Contrast\u003cbr\u003e+\u0026nbsp;Sharpen\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/non_geometric_image.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"non geometric augmentations, applied to images\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/non_geometric_heatmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"non geometric augmentations, applied to heatmaps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/non_geometric_segmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"non geometric augmentations, applied to segmentation maps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/non_geometric_kps.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"non geometric augmentations, applied to keypoints\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/non_geometric_bbs.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"non geometric augmentations, applied to bounding boxes\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c!-- Line 3: Affine --\u003e\n\u003ctr\u003e\n\u003ctd\u003eAffine\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/affine_image.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"affine augmentations, applied to images\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/affine_heatmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"affine augmentations, applied to heatmaps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/affine_segmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"affine augmentations, applied to segmentation maps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/affine_kps.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"affine augmentations, applied to keypoints\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/affine_bbs.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"affine augmentations, applied to bounding boxes\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c!-- Line 4: Crop + Pad --\u003e\n\u003ctr\u003e\n\u003ctd\u003eCrop\u003cbr\u003e+\u0026nbsp;Pad\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/cropandpad_image.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"crop and pad augmentations, applied to images\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/cropandpad_heatmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"crop and pad augmentations, applied to heatmaps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/cropandpad_segmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"crop and pad augmentations, applied to segmentation maps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/cropandpad_kps.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"crop and pad augmentations, applied to keypoints\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/cropandpad_bbs.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"crop and pad augmentations, applied to bounding boxes\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c!-- Line 5: Fliplr + Perspective --\u003e\n\u003ctr\u003e\n\u003ctd\u003eFliplr\u003cbr\u003e+\u0026nbsp;Perspective\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/fliplr_perspective_image.jpg\" height=\"83\" width=\"124\" alt=\"Horizontal flip and perspective transform augmentations, applied to images\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/fliplr_perspective_heatmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"Horizontal flip and perspective transform augmentations, applied to heatmaps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/fliplr_perspective_segmap.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"Horizontal flip and perspective transform augmentations, applied to segmentation maps\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/fliplr_perspective_kps.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"Horizontal flip and perspective transform augmentations, applied to keypoints\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/small_overview/fliplr_perspective_bbs.jpg?raw=true\" height=\"83\" width=\"124\" alt=\"Horizontal flip and perspective transform augmentations, applied to bounding boxes\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/table\u003e\n\n\n**More (strong) example augmentations of one input image:**\n\n![64 quokkas](https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/examples_grid.jpg?raw=true \"64 quokkas\")\n\n\n## Table of Contents\n\n1. [Features](#features)\n2. [Installation](#installation)\n3. [Documentation](#documentation)\n4. [Recent Changes](#recent_changes)\n5. [Example Images](#example_images)\n6. [Code Examples](#code_examples)\n7. [Citation](#citation)\n\n\n\u003ca name=\"features\"/\u003e\n\n## Features\n\n* Many augmentation techniques\n  * E.g. affine transformations, perspective transformations, contrast changes, gaussian noise, dropout of regions, hue/saturation changes, cropping/padding, blurring, ...\n  * Optimized for high performance\n  * Easy to apply augmentations only to some images\n  * Easy to apply augmentations in random order\n* Support for\n  * Images (full support for uint8, for other dtypes see [documentation](https://imgaug.readthedocs.io/en/latest/source/dtype_support.html))\n  * Heatmaps (float32), Segmentation Maps (int), Masks (bool)\n    * May be smaller/larger than their corresponding images. *No* extra lines of code needed for e.g. crop.\n  * Keypoints/Landmarks (int/float coordinates)\n  * Bounding Boxes (int/float coordinates)\n  * Polygons (int/float coordinates)\n  * Line Strings (int/float coordinates)\n* Automatic alignment of sampled random values\n  * Example: Rotate image and segmentation map on it by the same value sampled from `uniform(-10°, 45°)`. (0 extra lines of code.)\n* Probability distributions as parameters\n  * Example: Rotate images by values sampled from `uniform(-10°, 45°)`.\n  * Example: Rotate images by values sampled from `ABS(N(0, 20.0))*(1+B(1.0, 1.0))`\", where `ABS(.)` is the absolute function, `N(.)` the gaussian distribution and `B(.)` the beta distribution.\n* Many helper functions\n  * Example: Draw heatmaps, segmentation maps, keypoints, bounding boxes, ...\n  * Example: Scale segmentation maps, average/max pool of images/maps, pad images to aspect\n    ratios (e.g. to square them)\n  * Example: Convert keypoints to distance maps, extract pixels within bounding boxes from images, clip polygon to the image plane, ...\n* Support for augmentation on multiple CPU cores\n\n\n\u003ca name=\"installation\"/\u003e\n\n## Installation\n\nThe library supports python 2.7 and 3.4+.\n\n### Installation: Anaconda\n\nTo install the library in anaconda, perform the following commands:\n```bash\nconda config --add channels conda-forge\nconda install imgaug\n```\n\nYou can deinstall the library again via `conda remove imgaug`.\n\n### Installation: pip\n\nThen install imgaug either via pypi (can lag behind the github version):\n```bash\npip install imgaug\n```\n\nor install the latest version directly from github:\n```bash\npip install git+https://github.com/aleju/imgaug.git\n```\n\nFor more details, see the [install guide](https://imgaug.readthedocs.io/en/latest/source/installation.html)\n\nTo deinstall the library, just execute `pip uninstall imgaug`.\n\n\n\u003ca name=\"documentation\"/\u003e\n\n## Documentation\n\nExample jupyter notebooks:\n  * [Load and Augment an Image](https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/A01%20-%20Load%20and%20Augment%20an%20Image.ipynb)\n  * [Multicore Augmentation](https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/A03%20-%20Multicore%20Augmentation.ipynb)\n  * Augment and work with: [Keypoints/Landmarks](https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/B01%20-%20Augment%20Keypoints.ipynb),\n    [Bounding Boxes](https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/B02%20-%20Augment%20Bounding%20Boxes.ipynb),\n    [Polygons](https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/B03%20-%20Augment%20Polygons.ipynb),\n    [Line Strings](https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/B06%20-%20Augment%20Line%20Strings.ipynb),\n    [Heatmaps](https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/B04%20-%20Augment%20Heatmaps.ipynb),\n    [Segmentation Maps](https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/B05%20-%20Augment%20Segmentation%20Maps.ipynb) \n\nMore notebooks: [imgaug-doc/notebooks](https://github.com/aleju/imgaug-doc/tree/master/notebooks).\n\nExample ReadTheDocs pages:\n* [Quick example code on how to use the library](http://imgaug.readthedocs.io/en/latest/source/examples_basics.html)\n* [Overview of all Augmenters](https://imgaug.readthedocs.io/en/latest/source/overview_of_augmenters.html)\n* [API](http://imgaug.readthedocs.io/en/latest/source/api.html)\n\nMore RTD documentation: [imgaug.readthedocs.io](http://imgaug.readthedocs.io/en/latest/source/examples_basics.html).\n\nAll documentation related files of this project are hosted in the\nrepository [imgaug-doc](https://github.com/aleju/imgaug-doc).\n\n\n\u003ca name=\"recent_changes\"/\u003e\n\n## Recent Changes\n\n* **0.4.0**: Added new augmenters, changed backend to batchwise augmentation,\n  support for numpy 1.18 and python 3.8.\n* **0.3.0**: Reworked segmentation map augmentation, adapted to numpy 1.17+\n  random number sampling API, several new augmenters.\n* **0.2.9**: Added polygon augmentation, added line string augmentation,\n  simplified augmentation interface.\n* **0.2.8**: Improved performance, dtype support and multicore augmentation.\n\nSee [changelogs/](changelogs/) for more details.\n\n\n\u003ca name=\"example_images\"/\u003e\n\n## Example Images\n\nThe images below show examples for most augmentation techniques.\n\nValues written in the form `(a, b)` denote a uniform distribution,\ni.e. the value is randomly picked from the interval `[a, b]`.\nLine strings are supported by (almost) all augmenters, but are not explicitly\nvisualized here.\n\n\u003ctable\u003e\n\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003emeta\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#identity\"\u003eIdentity\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#channelshuffle\"\u003eChannelShuffle\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/meta/identity.gif\" height=\"148\" width=\"100\" alt=\"Identity\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/meta/channelshuffle.gif\" height=\"148\" width=\"100\" alt=\"ChannelShuffle\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#sequential\"\u003eSequential\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#someof\"\u003eSomeOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#oneof\"\u003eOneOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#sometimes\"\u003eSometimes\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#withchannels\"\u003eWithChannels\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#lambda\"\u003eLambda\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#assertlambda\"\u003eAssertLambda\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#assertshape\"\u003eAssertShape\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#removecbasbyoutofimagefraction\"\u003eRemoveCBAsByOutOfImageFraction\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/meta.html#clipcbastoimageplanes\"\u003eClipCBAsToImagePlanes\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003earithmetic\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#add\"\u003eAdd\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#add\"\u003eAdd\u003c/a\u003e\u003cbr/\u003e(per_channel=True)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#additivegaussiannoise\"\u003eAdditiveGaussianNoise\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#additivegaussiannoise\"\u003eAdditiveGaussianNoise\u003c/a\u003e\u003cbr/\u003e(per_channel=True)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#multiply\"\u003eMultiply\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/add.gif\" height=\"148\" width=\"100\" alt=\"Add\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/add_per_channel_true.gif\" height=\"148\" width=\"100\" alt=\"Add per_channel=True\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/additivegaussiannoise.gif\" height=\"148\" width=\"100\" alt=\"AdditiveGaussianNoise\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/additivegaussiannoise_per_channel_true.gif\" height=\"148\" width=\"100\" alt=\"AdditiveGaussianNoise per_channel=True\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/multiply.gif\" height=\"148\" width=\"100\" alt=\"Multiply\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#cutout\"\u003eCutout\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#dropout\"\u003eDropout\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#coarsedropout\"\u003eCoarseDropout\u003c/a\u003e\u003cbr/\u003e(p=0.2)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#coarsedropout\"\u003eCoarseDropout\u003c/a\u003e\u003cbr/\u003e(p=0.2, per_channel=True)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#dropout2d\"\u003eDropout2d\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/cutout.gif\" height=\"148\" width=\"100\" alt=\"Cutout\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/dropout.gif\" height=\"148\" width=\"100\" alt=\"Dropout\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/coarsedropout_p_0_2.gif\" height=\"148\" width=\"100\" alt=\"CoarseDropout p=0.2\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/coarsedropout_p_0_2_per_channel_true.gif\" height=\"148\" width=\"100\" alt=\"CoarseDropout p=0.2, per_channel=True\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/dropout2d.gif\" height=\"148\" width=\"100\" alt=\"Dropout2d\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#saltandpepper\"\u003eSaltAndPepper\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#coarsesaltandpepper\"\u003eCoarseSaltAndPepper\u003c/a\u003e\u003cbr/\u003e(p=0.2)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#invert\"\u003eInvert\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#solarize\"\u003eSolarize\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#jpegcompression\"\u003eJpegCompression\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/saltandpepper.gif\" height=\"148\" width=\"100\" alt=\"SaltAndPepper\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/coarsesaltandpepper_p_0_2.gif\" height=\"148\" width=\"100\" alt=\"CoarseSaltAndPepper p=0.2\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/invert.gif\" height=\"148\" width=\"100\" alt=\"Invert\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/solarize.gif\" height=\"148\" width=\"100\" alt=\"Solarize\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/arithmetic/jpegcompression.gif\" height=\"148\" width=\"100\" alt=\"JpegCompression\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#addelementwise\"\u003eAddElementwise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#additivelaplacenoise\"\u003eAdditiveLaplaceNoise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#additivepoissonnoise\"\u003eAdditivePoissonNoise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#multiplyelementwise\"\u003eMultiplyElementwise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#totaldropout\"\u003eTotalDropout\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#replaceelementwise\"\u003eReplaceElementwise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#impulsenoise\"\u003eImpulseNoise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#salt\"\u003eSalt\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#pepper\"\u003ePepper\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#coarsesalt\"\u003eCoarseSalt\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#coarsepepper\"\u003eCoarsePepper\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/arithmetic.html#solarize\"\u003eSolarize\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003eartistic\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/artistic.html#cartoon\"\u003eCartoon\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/artistic/cartoon.gif\" height=\"144\" width=\"128\" alt=\"Cartoon\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003eblend\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalpha\"\u003eBlendAlpha\u003c/a\u003e\u003cbr/\u003ewith EdgeDetect(1.0)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphasimplexnoise\"\u003eBlendAlphaSimplexNoise\u003c/a\u003e\u003cbr/\u003ewith EdgeDetect(1.0)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphafrequencynoise\"\u003eBlendAlphaFrequencyNoise\u003c/a\u003e\u003cbr/\u003ewith EdgeDetect(1.0)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphasomecolors\"\u003eBlendAlphaSomeColors\u003c/a\u003e\u003cbr/\u003ewith RemoveSaturation(1.0)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalpharegulargrid\"\u003eBlendAlphaRegularGrid\u003c/a\u003e\u003cbr/\u003ewith Multiply((0.0, 0.5))\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blend/blendalpha_with_edgedetect_1_0.gif\" height=\"148\" width=\"100\" alt=\"BlendAlpha with EdgeDetect1.0\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blend/blendalphasimplexnoise_with_edgedetect_1_0.gif\" height=\"148\" width=\"100\" alt=\"BlendAlphaSimplexNoise with EdgeDetect1.0\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blend/blendalphafrequencynoise_with_edgedetect_1_0.gif\" height=\"148\" width=\"100\" alt=\"BlendAlphaFrequencyNoise with EdgeDetect1.0\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blend/blendalphasomecolors_with_removesaturation_1_0.gif\" height=\"144\" width=\"128\" alt=\"BlendAlphaSomeColors with RemoveSaturation1.0\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blend/blendalpharegulargrid_with_multiply_0_0_0_5.gif\" height=\"148\" width=\"100\" alt=\"BlendAlphaRegularGrid with Multiply0.0, 0.5\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphamask\"\u003eBlendAlphaMask\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphaelementwise\"\u003eBlendAlphaElementwise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphaverticallineargradient\"\u003eBlendAlphaVerticalLinearGradient\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphahorizontallineargradient\"\u003eBlendAlphaHorizontalLinearGradient\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphasegmapclassids\"\u003eBlendAlphaSegMapClassIds\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphaboundingboxes\"\u003eBlendAlphaBoundingBoxes\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blend.html#blendalphacheckerboard\"\u003eBlendAlphaCheckerboard\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_blend.html#imgaug.augmenters.blend.SomeColorsMaskGen\"\u003eSomeColorsMaskGen\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_blend.html#imgaug.augmenters.blend.HorizontalLinearGradientMaskGen\"\u003eHorizontalLinearGradientMaskGen\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_blend.html#imgaug.augmenters.blend.VerticalLinearGradientMaskGen\"\u003eVerticalLinearGradientMaskGen\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_blend.html#imgaug.augmenters.blend.RegularGridMaskGen\"\u003eRegularGridMaskGen\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_blend.html#imgaug.augmenters.blend.CheckerboardMaskGen\"\u003eCheckerboardMaskGen\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_blend.html#imgaug.augmenters.blend.SegMapClassIdsMaskGen\"\u003eSegMapClassIdsMaskGen\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_blend.html#imgaug.augmenters.blend.BoundingBoxesMaskGen\"\u003eBoundingBoxesMaskGen\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_blend.html#imgaug.augmenters.blend.InvertMaskGen\"\u003eInvertMaskGen\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003eblur\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blur.html#gaussianblur\"\u003eGaussianBlur\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blur.html#averageblur\"\u003eAverageBlur\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blur.html#medianblur\"\u003eMedianBlur\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blur.html#bilateralblur\"\u003eBilateralBlur\u003c/a\u003e\u003cbr/\u003e(sigma_color=250,\u003cbr/\u003esigma_space=250)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blur.html#motionblur\"\u003eMotionBlur\u003c/a\u003e\u003cbr/\u003e(angle=0)\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blur/gaussianblur.gif\" height=\"148\" width=\"100\" alt=\"GaussianBlur\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blur/averageblur.gif\" height=\"148\" width=\"100\" alt=\"AverageBlur\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blur/medianblur.gif\" height=\"148\" width=\"100\" alt=\"MedianBlur\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blur/bilateralblur_sigma_color_250_sigma_space_250.gif\" height=\"148\" width=\"100\" alt=\"BilateralBlur sigma_color=250, sigma_space=250\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blur/motionblur_angle_0.gif\" height=\"148\" width=\"100\" alt=\"MotionBlur angle=0\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blur.html#motionblur\"\u003eMotionBlur\u003c/a\u003e\u003cbr/\u003e(k=5)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/blur.html#meanshiftblur\"\u003eMeanShiftBlur\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blur/motionblur_k_5.gif\" height=\"148\" width=\"100\" alt=\"MotionBlur k=5\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/blur/meanshiftblur.gif\" height=\"148\" width=\"100\" alt=\"MeanShiftBlur\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003ecollections\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/collections.html#randaugment\"\u003eRandAugment\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/collections/randaugment.gif\" height=\"148\" width=\"100\" alt=\"RandAugment\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003ecolor\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#multiplyandaddtobrightness\"\u003eMultiplyAndAddToBrightness\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#multiplyhueandsaturation\"\u003eMultiplyHueAndSaturation\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#multiplyhue\"\u003eMultiplyHue\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#multiplysaturation\"\u003eMultiplySaturation\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#addtohueandsaturation\"\u003eAddToHueAndSaturation\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/multiplyandaddtobrightness.gif\" height=\"148\" width=\"100\" alt=\"MultiplyAndAddToBrightness\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/multiplyhueandsaturation.gif\" height=\"148\" width=\"100\" alt=\"MultiplyHueAndSaturation\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/multiplyhue.gif\" height=\"148\" width=\"100\" alt=\"MultiplyHue\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/multiplysaturation.gif\" height=\"148\" width=\"100\" alt=\"MultiplySaturation\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/addtohueandsaturation.gif\" height=\"148\" width=\"100\" alt=\"AddToHueAndSaturation\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#grayscale\"\u003eGrayscale\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#removesaturation\"\u003eRemoveSaturation\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#changecolortemperature\"\u003eChangeColorTemperature\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#kmeanscolorquantization\"\u003eKMeansColorQuantization\u003c/a\u003e\u003cbr/\u003e(to_colorspace=RGB)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#uniformcolorquantization\"\u003eUniformColorQuantization\u003c/a\u003e\u003cbr/\u003e(to_colorspace=RGB)\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/grayscale.gif\" height=\"148\" width=\"100\" alt=\"Grayscale\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/removesaturation.gif\" height=\"148\" width=\"100\" alt=\"RemoveSaturation\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/changecolortemperature.gif\" height=\"148\" width=\"100\" alt=\"ChangeColorTemperature\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/kmeanscolorquantization_to_colorspace_rgb.gif\" height=\"148\" width=\"100\" alt=\"KMeansColorQuantization to_colorspace=RGB\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/color/uniformcolorquantization_to_colorspace_rgb.gif\" height=\"148\" width=\"100\" alt=\"UniformColorQuantization to_colorspace=RGB\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#withcolorspace\"\u003eWithColorspace\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#withbrightnesschannels\"\u003eWithBrightnessChannels\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#multiplybrightness\"\u003eMultiplyBrightness\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#addtobrightness\"\u003eAddToBrightness\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#withhueandsaturation\"\u003eWithHueAndSaturation\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#addtohue\"\u003eAddToHue\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#addtosaturation\"\u003eAddToSaturation\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#changecolorspace\"\u003eChangeColorspace\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#posterize\"\u003ePosterize\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003econtrast\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#gammacontrast\"\u003eGammaContrast\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#gammacontrast\"\u003eGammaContrast\u003c/a\u003e\u003cbr/\u003e(per_channel=True)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#sigmoidcontrast\"\u003eSigmoidContrast\u003c/a\u003e\u003cbr/\u003e(cutoff=0.5)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#sigmoidcontrast\"\u003eSigmoidContrast\u003c/a\u003e\u003cbr/\u003e(gain=10)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#logcontrast\"\u003eLogContrast\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/gammacontrast.gif\" height=\"148\" width=\"100\" alt=\"GammaContrast\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/gammacontrast_per_channel_true.gif\" height=\"148\" width=\"100\" alt=\"GammaContrast per_channel=True\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/sigmoidcontrast_cutoff_0_5.gif\" height=\"148\" width=\"100\" alt=\"SigmoidContrast cutoff=0.5\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/sigmoidcontrast_gain_10.gif\" height=\"148\" width=\"100\" alt=\"SigmoidContrast gain=10\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/logcontrast.gif\" height=\"148\" width=\"100\" alt=\"LogContrast\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#linearcontrast\"\u003eLinearContrast\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#allchannelshistogramequalization\"\u003eAllChannels-\u003c/a\u003e\u003cbr/\u003eHistogramEqualization\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#histogramequalization\"\u003eHistogramEqualization\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#allchannelsclahe\"\u003eAllChannelsCLAHE\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#clahe\"\u003eCLAHE\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/linearcontrast.gif\" height=\"148\" width=\"100\" alt=\"LinearContrast\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/allchannels_histogramequalization.gif\" height=\"148\" width=\"100\" alt=\"AllChannels- HistogramEqualization\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/histogramequalization.gif\" height=\"148\" width=\"100\" alt=\"HistogramEqualization\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/allchannelsclahe.gif\" height=\"148\" width=\"100\" alt=\"AllChannelsCLAHE\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/contrast/clahe.gif\" height=\"148\" width=\"100\" alt=\"CLAHE\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/contrast.html#equalize\"\u003eEqualize\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003econvolutional\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/convolutional.html#sharpen\"\u003eSharpen\u003c/a\u003e\u003cbr/\u003e(alpha=1)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/convolutional.html#emboss\"\u003eEmboss\u003c/a\u003e\u003cbr/\u003e(alpha=1)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/convolutional.html#edgedetect\"\u003eEdgeDetect\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/convolutional.html#directededgedetect\"\u003eDirectedEdgeDetect\u003c/a\u003e\u003cbr/\u003e(alpha=1)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/convolutional/sharpen_alpha_1.gif\" height=\"148\" width=\"100\" alt=\"Sharpen alpha=1\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/convolutional/emboss_alpha_1.gif\" height=\"148\" width=\"100\" alt=\"Emboss alpha=1\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/convolutional/edgedetect.gif\" height=\"148\" width=\"100\" alt=\"EdgeDetect\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/convolutional/directededgedetect_alpha_1.gif\" height=\"148\" width=\"100\" alt=\"DirectedEdgeDetect alpha=1\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/convolutional.html#convolve\"\u003eConvolve\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003e\u003cstrong\u003edebug\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/debug.html#savedebugimageeverynbatches\"\u003eSaveDebugImageEveryNBatches\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003eedges\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/edges.html#canny\"\u003eCanny\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/edges/canny.gif\" height=\"148\" width=\"100\" alt=\"Canny\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003eflip\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/flip.html#fliplr\"\u003eFliplr\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/flip.html#flipud\"\u003eFlipud\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/flip/fliplr.gif\" height=\"148\" width=\"300\" alt=\"Fliplr\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/flip/flipud.gif\" height=\"148\" width=\"300\" alt=\"Flipud\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#horizontalflip\"\u003eHorizontalFlip\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/color.html#verticalflip\"\u003eVerticalFlip\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003egeometric\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#affine\"\u003eAffine\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#affine\"\u003eAffine: Modes\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/affine.gif\" height=\"148\" width=\"300\" alt=\"Affine\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/affine_modes.gif\" height=\"148\" width=\"300\" alt=\"Affine: Modes\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#affine\"\u003eAffine: cval\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#piecewiseaffine\"\u003ePiecewiseAffine\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/affine_cval.gif\" height=\"148\" width=\"300\" alt=\"Affine: cval\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/piecewiseaffine.gif\" height=\"148\" width=\"300\" alt=\"PiecewiseAffine\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#perspectivetransform\"\u003ePerspectiveTransform\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#elastictransformation\"\u003eElasticTransformation\u003c/a\u003e\u003cbr/\u003e(sigma=1.0)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/perspectivetransform.gif\" height=\"148\" width=\"300\" alt=\"PerspectiveTransform\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/elastictransformation_sigma_1_0.gif\" height=\"148\" width=\"300\" alt=\"ElasticTransformation sigma=1.0\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#elastictransformation\"\u003eElasticTransformation\u003c/a\u003e\u003cbr/\u003e(sigma=4.0)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#rot90\"\u003eRot90\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/elastictransformation_sigma_4_0.gif\" height=\"148\" width=\"300\" alt=\"ElasticTransformation sigma=4.0\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/rot90.gif\" height=\"148\" width=\"300\" alt=\"Rot90\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#withpolarwarping\"\u003eWithPolarWarping\u003c/a\u003e\u003cbr/\u003e+Affine\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#jigsaw\"\u003eJigsaw\u003c/a\u003e\u003cbr/\u003e(5x5 grid)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/withpolarwarping_affine.gif\" height=\"148\" width=\"300\" alt=\"WithPolarWarping +Affine\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/geometric/jigsaw_5x5_grid.gif\" height=\"148\" width=\"300\" alt=\"Jigsaw 5x5 grid\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#scalex\"\u003eScaleX\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#scaley\"\u003eScaleY\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#translatex\"\u003eTranslateX\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#translatey\"\u003eTranslateY\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/geometric.html#rotate\"\u003eRotate\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003eimgcorruptlike\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#glassblur\"\u003eGlassBlur\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#defocusblur\"\u003eDefocusBlur\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#zoomblur\"\u003eZoomBlur\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#snow\"\u003eSnow\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#spatter\"\u003eSpatter\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/imgcorruptlike/glassblur.gif\" height=\"148\" width=\"100\" alt=\"GlassBlur\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/imgcorruptlike/defocusblur.gif\" height=\"148\" width=\"100\" alt=\"DefocusBlur\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/imgcorruptlike/zoomblur.gif\" height=\"148\" width=\"100\" alt=\"ZoomBlur\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/imgcorruptlike/snow.gif\" height=\"148\" width=\"100\" alt=\"Snow\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/imgcorruptlike/spatter.gif\" height=\"148\" width=\"100\" alt=\"Spatter\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#gaussiannoise\"\u003eGaussianNoise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#shotnoise\"\u003eShotNoise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#impulsenoise\"\u003eImpulseNoise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#specklenoise\"\u003eSpeckleNoise\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#gaussianblur\"\u003eGaussianBlur\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#motionblur\"\u003eMotionBlur\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#fog\"\u003eFog\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#frost\"\u003eFrost\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#contrast\"\u003eContrast\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#brightness\"\u003eBrightness\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#saturate\"\u003eSaturate\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#jpegcompression\"\u003eJpegCompression\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#pixelate\"\u003ePixelate\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/imgcorruptlike.html#elastictransform\"\u003eElasticTransform\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003epillike\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#autocontrast\"\u003eAutocontrast\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#enhancecolor\"\u003eEnhanceColor\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#enhancesharpness\"\u003eEnhanceSharpness\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filteredgeenhancemore\"\u003eFilterEdgeEnhanceMore\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filtercontour\"\u003eFilterContour\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/pillike/autocontrast.gif\" height=\"148\" width=\"100\" alt=\"Autocontrast\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/pillike/enhancecolor.gif\" height=\"148\" width=\"100\" alt=\"EnhanceColor\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/pillike/enhancesharpness.gif\" height=\"148\" width=\"100\" alt=\"EnhanceSharpness\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/pillike/filteredgeenhancemore.gif\" height=\"148\" width=\"100\" alt=\"FilterEdgeEnhanceMore\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/pillike/filtercontour.gif\" height=\"148\" width=\"100\" alt=\"FilterContour\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#solarize\"\u003eSolarize\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#posterize\"\u003ePosterize\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#equalize\"\u003eEqualize\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#enhancecontrast\"\u003eEnhanceContrast\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#enhancebrightness\"\u003eEnhanceBrightness\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filterblur\"\u003eFilterBlur\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filtersmooth\"\u003eFilterSmooth\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filtersmoothmore\"\u003eFilterSmoothMore\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filteredgeenhance\"\u003eFilterEdgeEnhance\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filterfindedges\"\u003eFilterFindEdges\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filteremboss\"\u003eFilterEmboss\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filtersharpen\"\u003eFilterSharpen\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#filterdetail\"\u003eFilterDetail\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pillike.html#affine\"\u003eAffine\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003epooling\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pooling.html#averagepooling\"\u003eAveragePooling\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pooling.html#maxpooling\"\u003eMaxPooling\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pooling.html#minpooling\"\u003eMinPooling\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/pooling.html#medianpooling\"\u003eMedianPooling\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/pooling/averagepooling.gif\" height=\"148\" width=\"100\" alt=\"AveragePooling\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/pooling/maxpooling.gif\" height=\"148\" width=\"100\" alt=\"MaxPooling\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/pooling/minpooling.gif\" height=\"148\" width=\"100\" alt=\"MinPooling\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/pooling/medianpooling.gif\" height=\"148\" width=\"100\" alt=\"MedianPooling\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003esegmentation\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/segmentation.html#superpixels\"\u003eSuperpixels\u003c/a\u003e\u003cbr/\u003e(p_replace=1)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/segmentation.html#superpixels\"\u003eSuperpixels\u003c/a\u003e\u003cbr/\u003e(n_segments=100)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/segmentation.html#uniformvoronoi\"\u003eUniformVoronoi\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/segmentation.html#regulargridvoronoi\"\u003eRegularGridVoronoi: rows/cols\u003c/a\u003e\u003cbr/\u003e(p_drop_points=0)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/segmentation.html#regulargridvoronoi\"\u003eRegularGridVoronoi: p_drop_points\u003c/a\u003e\u003cbr/\u003e(n_rows=n_cols=30)\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/segmentation/superpixels_p_replace_1.gif\" height=\"148\" width=\"100\" alt=\"Superpixels p_replace=1\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/segmentation/superpixels_n_segments_100.gif\" height=\"148\" width=\"100\" alt=\"Superpixels n_segments=100\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/segmentation/uniformvoronoi.gif\" height=\"148\" width=\"100\" alt=\"UniformVoronoi\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/segmentation/regulargridvoronoi_rows_cols_p_drop_points_0.gif\" height=\"148\" width=\"100\" alt=\"RegularGridVoronoi: rows/cols p_drop_points=0\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/segmentation/regulargridvoronoi_p_drop_points_n_rows_n_cols_30.gif\" height=\"148\" width=\"100\" alt=\"RegularGridVoronoi: p_drop_points n_rows=n_cols=30\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/segmentation.html#regulargridvoronoi\"\u003eRegularGridVoronoi: p_replace\u003c/a\u003e\u003cbr/\u003e(n_rows=n_cols=16)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/segmentation/regulargridvoronoi_p_replace_n_rows_n_cols_16.gif\" height=\"148\" width=\"100\" alt=\"RegularGridVoronoi: p_replace n_rows=n_cols=16\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/segmentation.html#voronoi\"\u003eVoronoi\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/segmentation.html#relativeregulargridvoronoi\"\u003eRelativeRegularGridVoronoi\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_segmentation.html#imgaug.augmenters.segmentation.RegularGridPointsSampler\"\u003eRegularGridPointsSampler\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_segmentation.html#imgaug.augmenters.segmentation.RelativeRegularGridPointsSampler\"\u003eRelativeRegularGridPointsSampler\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_segmentation.html#imgaug.augmenters.segmentation.DropoutPointsSampler\"\u003eDropoutPointsSampler\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_segmentation.html#imgaug.augmenters.segmentation.UniformPointsSampler\"\u003eUniformPointsSampler\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/api_augmenters_segmentation.html#imgaug.augmenters.segmentation.SubsamplingPointsSampler\"\u003eSubsamplingPointsSampler\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003esize\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#cropandpad\"\u003eCropAndPad\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#crop\"\u003eCrop\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/size/cropandpad.gif\" height=\"148\" width=\"300\" alt=\"CropAndPad\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/size/crop.gif\" height=\"148\" width=\"300\" alt=\"Crop\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#pad\"\u003ePad\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#padtofixedsize\"\u003ePadToFixedSize\u003c/a\u003e\u003cbr/\u003e(height'=height+32,\u003cbr/\u003ewidth'=width+32)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/size/pad.gif\" height=\"148\" width=\"300\" alt=\"Pad\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/size/padtofixedsize_height_height_32_width_width_32.gif\" height=\"148\" width=\"300\" alt=\"PadToFixedSize height'=height+32, width'=width+32\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#croptofixedsize\"\u003eCropToFixedSize\u003c/a\u003e\u003cbr/\u003e(height'=height-32,\u003cbr/\u003ewidth'=width-32)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/size/croptofixedsize_height_height_32_width_width_32.gif\" height=\"148\" width=\"300\" alt=\"CropToFixedSize height'=height-32, width'=width-32\"\u003e\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#resize\"\u003eResize\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#croptomultiplesof\"\u003eCropToMultiplesOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#padtomultiplesof\"\u003ePadToMultiplesOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#croptopowersof\"\u003eCropToPowersOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#padtopowersof\"\u003ePadToPowersOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#croptoaspectratio\"\u003eCropToAspectRatio\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#padtoaspectratio\"\u003ePadToAspectRatio\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#croptosquare\"\u003eCropToSquare\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#padtosquare\"\u003ePadToSquare\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centercroptofixedsize\"\u003eCenterCropToFixedSize\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centerpadtofixedsize\"\u003eCenterPadToFixedSize\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centercroptomultiplesof\"\u003eCenterCropToMultiplesOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centerpadtomultiplesof\"\u003eCenterPadToMultiplesOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centercroptopowersof\"\u003eCenterCropToPowersOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centerpadtopowersof\"\u003eCenterPadToPowersOf\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centercroptoaspectratio\"\u003eCenterCropToAspectRatio\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centerpadtoaspectratio\"\u003eCenterPadToAspectRatio\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centercroptosquare\"\u003eCenterCropToSquare\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#centerpadtosquare\"\u003eCenterPadToSquare\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/size.html#keepsizebyresize\"\u003eKeepSizeByResize\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cstrong\u003eweather\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/weather.html#fastsnowylandscape\"\u003eFastSnowyLandscape\u003c/a\u003e\u003cbr/\u003e(lightness_multiplier=2.0)\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/weather.html#clouds\"\u003eClouds\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/weather.html#fog\"\u003eFog\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/weather.html#snowflakes\"\u003eSnowflakes\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003csub\u003e\u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/weather.html#rain\"\u003eRain\u003c/a\u003e\u003c/sub\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/weather/fastsnowylandscape_lightness_multiplier_2_0.gif\" height=\"144\" width=\"128\" alt=\"FastSnowyLandscape lightness_multiplier=2.0\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/weather/clouds.gif\" height=\"144\" width=\"128\" alt=\"Clouds\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/weather/fog.gif\" height=\"144\" width=\"128\" alt=\"Fog\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/weather/snowflakes.gif\" height=\"144\" width=\"128\" alt=\"Snowflakes\"\u003e\u003c/td\u003e\n\u003ctd colspan=\"1\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/aleju/imgaug-doc/master/readme_images/augmenter_videos/weather/rain.gif\" height=\"144\" width=\"128\" alt=\"Rain\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"5\"\u003eSee also: \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/weather.html#cloudlayer\"\u003eCloudLayer\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/weather.html#snowflakeslayer\"\u003eSnowflakesLayer\u003c/a\u003e, \u003ca href=\"https://imgaug.readthedocs.io/en/latest/source/overview/weather.html#rainlayer\"\u003eRainLayer\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/table\u003e\n\n\n\n\u003ca name=\"code_examples\"/\u003e\n\n\n## Code Examples\n\n### Example: Simple Training Setting\n\nA standard machine learning situation.\nTrain on batches of images and augment each batch via crop, horizontal\nflip (\"Fliplr\") and gaussian blur:\n```python\nimport numpy as np\nimport imgaug.augmenters as iaa\n\ndef load_batch(batch_idx):\n    # dummy function, implement this\n    # Return a numpy array of shape (N, height, width, #channels)\n    # or a list of (height, width, #channels) arrays (may have different image\n    # sizes).\n    # Images should be in RGB for colorspace augmentations.\n    # (cv2.imread() returns BGR!)\n    # Images should usually be in uint8 with values from 0-255.\n    return np.zeros((128, 32, 32, 3), dtype=np.uint8) + (batch_idx % 255)\n\ndef train_on_images(images):\n    # dummy function, implement this\n    pass\n\n# Pipeline:\n# (1) Crop images from each side by 1-16px, do not resize the results\n#     images back to the input size. Keep them at the cropped size.\n# (2) Horizontally flip 50% of the images.\n# (3) Blur images using a gaussian kernel with sigma between 0.0 and 3.0.\nseq = iaa.Sequential([\n    iaa.Crop(px=(1, 16), keep_size=False),\n    iaa.Fliplr(0.5),\n    iaa.GaussianBlur(sigma=(0, 3.0))\n])\n\nfor batch_idx in range(100):\n    images = load_batch(batch_idx)\n    images_aug = seq(images=images)  # done by the library\n    train_on_images(images_aug)\n```\n\n\n### Example: Very Complex Augmentation Pipeline\n\nApply a very heavy augmentation pipeline to images (used to create the image \nat the very top of this readme):\n```python\nimport numpy as np\nimport imgaug as ia\nimport imgaug.augmenters as iaa\n\n# random example images\nimages = np.random.randint(0, 255, (16, 128, 128, 3), dtype=np.uint8)\n\n# Sometimes(0.5, ...) applies the given augmenter in 50% of all cases,\n# e.g. Sometimes(0.5, GaussianBlur(0.3)) would blur roughly every second image.\nsometimes = lambda aug: iaa.Sometimes(0.5, aug)\n\n# Define our sequence of augmentation steps that will be applied to every image\n# All augmenters with per_channel=0.5 will sample one value _per image_\n# in 50% of all cases. In all other cases they will sample new values\n# _per channel_.\n\nseq = iaa.Sequential(\n    [\n        # apply the following augmenters to most images\n        iaa.Fliplr(0.5), # horizontally flip 50% of all images\n        iaa.Flipud(0.2), # vertically flip 20% of all images\n        # crop images by -5% to 10% of their height/width\n        sometimes(iaa.CropAndPad(\n            percent=(-0.05, 0.1),\n            pad_mode=ia.ALL,\n            pad_cval=(0, 255)\n        )),\n        sometimes(iaa.Affine(\n            scale={\"x\": (0.8, 1.2), \"y\": (0.8, 1.2)}, # scale images to 80-120% of their size, individually per axis\n            translate_percent={\"x\": (-0.2, 0.2), \"y\": (-0.2, 0.2)}, # translate by -20 to +20 percent (per axis)\n            rotate=(-45, 45), # rotate by -45 to +45 degrees\n            shear=(-16, 16), # shear by -16 to +16 degrees\n            order=[0, 1], # use nearest neighbour or bilinear interpolation (fast)\n            cval=(0, 255), # if mode is constant, use a cval between 0 and 255\n            mode=ia.ALL # use any of scikit-image's warping modes (see 2nd image from the top for examples)\n        )),\n        # execute 0 to 5 of the following (less important) augmenters per image\n        # don't execute all of them, as that would often be way too strong\n        iaa.SomeOf((0, 5),\n            [\n                sometimes(iaa.Superpixels(p_replace=(0, 1.0), n_segments=(20, 200))), # convert images into their superpixel representation\n                iaa.OneOf([\n                    iaa.GaussianBlur((0, 3.0)), # blur images with a sigma between 0 and 3.0\n                    iaa.AverageBlur(k=(2, 7)), # blur image using local means with kernel sizes between 2 and 7\n                    iaa.MedianBlur(k=(3, 11)), # blur image using local medians with kernel sizes between 2 and 7\n                ]),\n                iaa.Sharpen(alpha=(0, 1.0), lightness=(0.75, 1.5)), # sharpen images\n                iaa.Emboss(alpha=(0, 1.0), strength=(0, 2.0)), # emboss images\n                # search either for all edges or for directed edges,\n                # blend the result with the original image using a blobby mask\n                iaa.SimplexNoiseAlpha(iaa.OneOf([\n                    iaa.EdgeDetect(alpha=(0.5, 1.0)),\n                    iaa.DirectedEdgeDetect(alpha=(0.5, 1.0), direction=(0.0, 1.0)),\n                ])),\n                iaa.AdditiveGaussianNoise(loc=0, scale=(0.0, 0.05*255), per_channel=0.5), # add gaussian noise to images\n                iaa.OneOf([\n                    iaa.Dropout((0.01, 0.1), per_channel=0.5), # randomly remove up to 10% of the pixels\n                    iaa.CoarseDropout((0.03, 0.15), size_percent=(0.02, 0.05), per_channel=0.2),\n                ]),\n                iaa.Invert(0.05, per_channel=True), # invert color channels\n                iaa.Add((-10, 10), per_channel=0.5), # change brightness of images (by -10 to 10 of original value)\n                iaa.AddToHueAndSaturation((-20, 20)), # change hue and saturation\n                # either change the brightness of the whole image (sometimes\n                # per channel) or change the brightness of subareas\n                iaa.OneOf([\n                    iaa.Multiply((0.5, 1.5), per_channel=0.5),\n                    iaa.FrequencyNoiseAlpha(\n                        exponent=(-4, 0),\n                        first=iaa.Multiply((0.5, 1.5), per_channel=True),\n                        second=iaa.LinearContrast((0.5, 2.0))\n                    )\n                ]),\n                iaa.LinearContrast((0.5, 2.0), per_channel=0.5), # improve or worsen the contrast\n                iaa.Grayscale(alpha=(0.0, 1.0)),\n                sometimes(iaa.ElasticTransformation(alpha=(0.5, 3.5), sigma=0.25)), # move pixels locally around (with random strengths)\n                sometimes(iaa.PiecewiseAffine(scale=(0.01, 0.05))), # sometimes move parts of the image around\n                sometimes(iaa.PerspectiveTransform(scale=(0.01, 0.1)))\n            ],\n            random_order=True\n        )\n    ],\n    random_order=True\n)\nimages_aug = seq(images=images)\n```\n\n\n### Example: Augment Images and Keypoints\n\nAugment images and keypoints/landmarks on the same images:\n```python\nimport numpy as np\nimport imgaug.augmenters as iaa\n\nimages = np.zeros((2, 128, 128, 3), dtype=np.uint8)  # two example images\nimages[:, 64, 64, :] = 255\npoints = [\n    [(10.5, 20.5)],  # points on first image\n    [(50.5, 50.5), (60.5, 60.5), (70.5, 70.5)]  # points on second image\n]\n\nseq = iaa.Sequential([\n    iaa.AdditiveGaussianNoise(scale=0.05*255),\n    iaa.Affine(translate_px={\"x\": (1, 5)})\n])\n\n# augment keypoints and images\nimages_aug, points_aug = seq(images=images, keypoints=points)\n\nprint(\"Image 1 center\", np.argmax(images_aug[0, 64, 64:64+6, 0]))\nprint(\"Image 2 center\", np.argmax(images_aug[1, 64, 64:64+6, 0]))\nprint(\"Points 1\", points_aug[0])\nprint(\"Points 2\", points_aug[1])\n```\nNote that all coordinates in `imgaug` are subpixel-accurate, which is\nwhy `x=0.5, y=0.5` denotes the center of the top left pixel.\n\n\n### Example: Augment Images and Bounding Boxes\n\n```python\nimport numpy as np\nimport imgaug as ia\nimport imgaug.augmenters as iaa\n\nimages = np.zeros((2, 128, 128, 3), dtype=np.uint8)  # two example images\nimages[:, 64, 64, :] = 255\nbbs = [\n    [ia.BoundingBox(x1=10.5, y1=15.5, x2=30.5, y2=50.5)],\n    [ia.BoundingBox(x1=10.5, y1=20.5, x2=50.5, y2=50.5),\n     ia.BoundingBox(x1=40.5, y1=75.5, x2=70.5, y2=100.5)]\n]\n\nseq = iaa.Sequential([\n    iaa.AdditiveGaussianNoise(scale=0.05*255),\n    iaa.Affine(translate_px={\"x\": (1, 5)})\n])\n\nimages_aug, bbs_aug = seq(images=images, bounding_boxes=bbs)\n```\n\n\n### Example: Augment Images and Polygons\n\n```python\nimport numpy as np\nimport imgaug as ia\nimport imgaug.augmenters as iaa\n\nimages = np.zeros((2, 128, 128, 3), dtype=np.uint8)  # two example images\nimages[:, 64, 64, :] = 255\npolygons = [\n    [ia.Polygon([(10.5, 10.5), (50.5, 10.5), (50.5, 50.5)])],\n    [ia.Polygon([(0.0, 64.5), (64.5, 0.0), (128.0, 128.0), (64.5, 128.0)])]\n]\n\nseq = iaa.Sequential([\n    iaa.AdditiveGaussianNoise(scale=0.05*255),\n    iaa.Affine(translate_px={\"x\": (1, 5)})\n])\n\nimages_aug, polygons_aug = seq(images=images, polygons=polygons)\n```\n\n\n### Example: Augment Images and LineStrings\n\nLineStrings are similar to polygons, but are not closed, may intersect with\nthemselves and don't have an inner area.\n```python\nimport numpy as np\nimport imgaug as ia\nimport imgaug.augmenters as iaa\n\nimages = np.zeros((2, 128, 128, 3), dtype=np.uint8)  # two example images\nimages[:, 64, 64, :] = 255\nls = [\n    [ia.LineString([(10.5, 10.5), (50.5, 10.5), (50.5, 50.5)])],\n    [ia.LineString([(0.0, 64.5), (64.5, 0.0), (128.0, 128.0), (64.5, 128.0),\n                    (128.0, 0.0)])]\n]\n\nseq = iaa.Sequential([\n    iaa.AdditiveGaussianNoise(scale=0.05*255),\n    iaa.Affine(translate_px={\"x\": (1, 5)})\n])\n\nimages_aug, ls_aug = seq(images=images, line_strings=ls)\n```\n\n\n### Example: Augment Images and Heatmaps\n\nHeatmaps are dense float arrays with values between `0.0` and `1.0`.\nThey can be used e.g. when training models to predict facial landmark\nlocations. Note that the heatmaps here have lower height and width than the\nimages. `imgaug` handles that case automatically. The crop pixel amounts will\nbe halved for the heatmaps.\n\n```python\nimport numpy as np\nimport imgaug.augmenters as iaa\n\n# Standard scenario: You have N RGB-images and additionally 21 heatmaps per\n# image. You want to augment each image and its heatmaps identically.\nimages = np.random.randint(0, 255, (16, 128, 128, 3), dtype=np.uint8)\nheatmaps = np.random.random(size=(16, 64, 64, 1)).astype(np.float32)\n\nseq = iaa.Sequential([\n    iaa.GaussianBlur((0, 3.0)),\n    iaa.Affine(translate_px={\"x\": (-40, 40)}),\n    iaa.Crop(px=(0, 10))\n])\n\nimages_aug, heatmaps_aug = seq(images=images, heatmaps=heatmaps)\n```\n\n\n### Example: Augment Images and Segmentation Maps\n\nThis is similar to heatmaps, but the dense arrays have dtype `int32`.\nOperations such as resizing will automatically use nearest neighbour\ninterpolation.\n\n```python\nimport numpy as np\nimport imgaug.augmenters as iaa\n\n# Standard scenario: You have N=16 RGB-images and additionally one segmentation\n# map per image. You want to augment each image and its heatmaps identically.\nimages = np.random.randint(0, 255, (16, 128, 128, 3), dtype=np.uint8)\nsegmaps = np.random.randint(0, 10, size=(16, 64, 64, 1), dtype=np.int32)\n\nseq = iaa.Sequential([\n    iaa.GaussianBlur((0, 3.0)),\n    iaa.Affine(translate_px={\"x\": (-40, 40)}),\n    iaa.Crop(px=(0, 10))\n])\n\nimages_aug, segmaps_aug = seq(images=images, segmentation_maps=segmaps)\n```\n\n\n### Example: Visualize Augmented Images\n\nQuickly show example results of your augmentation sequence:\n```python\nimport numpy as np\nimport imgaug.augmenters as iaa\n\nimages = np.random.randint(0, 255, (16, 128, 128, 3), dtype=np.uint8)\nseq = iaa.Sequential([iaa.Fliplr(0.5), iaa.GaussianBlur((0, 3.0))])\n\n# Show an image with 8*8 augmented versions of image 0 and 8*8 augmented\n# versions of image 1. Identical augmentations will be applied to\n# image 0 and 1.\nseq.show_grid([images[0], images[1]], cols=8, rows=8)\n```\n\n\n### Example: Visualize Augmented Non-Image Data\n\n`imgaug` contains many helper function, among these functions to quickly\nvisualize augmented non-image results, such as bounding boxes or heatmaps.\n\n```python\nimport numpy as np\nimport imgaug as ia\n\nimage = np.zeros((64, 64, 3), dtype=np.uint8)\n\n# points\nkps = [ia.Keypoint(x=10.5, y=20.5), ia.Keypoint(x=60.5, y=60.5)]\nkpsoi = ia.KeypointsOnImage(kps, shape=image.shape)\nimage_with_kps = kpsoi.draw_on_image(image, size=7, color=(0, 0, 255))\nia.imshow(image_with_kps)\n\n# bbs\nbbsoi = ia.BoundingBoxesOnImage([\n    ia.BoundingBox(x1=10.5, y1=20.5, x2=50.5, y2=30.5)\n], shape=image.shape)\nimage_with_bbs = bbsoi.draw_on_image(image)\nimage_with_bbs = ia.BoundingBox(\n    x1=50.5, y1=10.5, x2=100.5, y2=16.5\n).draw_on_image(image_with_bbs, color=(255, 0, 0), size=3)\nia.imshow(image_with_bbs)\n\n# polygons\npsoi = ia.PolygonsOnImage([\n    ia.Polygon([(10.5, 20.5), (50.5, 30.5), (10.5, 50.5)])\n], shape=image.shape)\nimage_with_polys = psoi.draw_on_image(\n    image, alpha_points=0, alpha_face=0.5, color_lines=(255, 0, 0))\nia.imshow(image_with_polys)\n\n# heatmaps\nhms = ia.HeatmapsOnImage(np.random.random(size=(32, 32, 1)).astype(np.float32),\n                         shape=image.shape)\nimage_with_hms = hms.draw_on_image(image)\nia.imshow(image_with_hms)\n```\n\nLineStrings and segmentation maps support similar methods as shown above.\n\n\n### Example: Using Augmenters Only Once \n\nWhile the interface is adapted towards re-using instances of augmenters\nmany times, you are also free to use them only once. The overhead to\ninstantiate the augmenters each time is usually negligible.\n\n```python\nfrom imgaug import augmenters as iaa\nimport numpy as np\n\nimages = np.random.randint(0, 255, (16, 128, 128, 3), dtype=np.uint8)\n\n# always horizontally flip each input image\nimages_aug = iaa.Fliplr(1.0)(images=images)\n\n# vertically flip each input image with 90% probability\nimages_aug = iaa.Flipud(0.9)(images=images)\n\n# blur 50% of all images using a gaussian kernel with a sigma of 3.0\nimages_aug = iaa.Sometimes(0.5, iaa.GaussianBlur(3.0))(images=images)\n```\n\n\n### Example: Multicore Augmentation\n\nImages can be augmented in **background processes** using the\nmethod `augment_batches(batches, background=True)`, where `batches` is\na list/generator of\n[imgaug.augmentables.batches.UnnormalizedBatch](https://imgaug.readthedocs.io/en/latest/_modules/imgaug/augmentables/batches.html#UnnormalizedBatch)\nor\n[imgaug.augmentables.batches.Batch](https://imgaug.readthedocs.io/en/latest/source/api_augmentables_batches.html#imgaug.augmentables.batches.Batch).\nThe following example augments a list of image batches in the background:\n```python\nimport skimage.data\nimport imgaug as ia\nimport imgaug.augmenters as iaa\nfrom imgaug.augmentables.batches import UnnormalizedBatch\n\n# Number of batches and batch size for this example\nnb_batches = 10\nbatch_size = 32\n\n# Example augmentation sequence to run in the background\naugseq = iaa.Sequential([\n    iaa.Fliplr(0.5),\n    iaa.CoarseDropout(p=0.1, size_percent=0.1)\n])\n\n# For simplicity, we use the same image here many times\nastronaut = skimage.data.astronaut()\nastronaut = ia.imresize_single_image(astronaut, (64, 64))\n\n# Make batches out of the example image (here: 10 batches, each 32 times\n# the example image)\nbatches = []\nfor _ in range(nb_batches):\n    batches.append(UnnormalizedBatch(images=[astronaut] * batch_size))\n\n# Show the augmented images.\n# Note that augment_batches() returns a generator.\nfor images_aug in augseq.augment_batches(batches, background=True):\n    ia.imshow(ia.draw_grid(images_aug.images_aug, cols=8))\n```\n\nIf you need more control over the background augmentation, e.g. to set\nseeds, control the number of used CPU cores or constraint the memory usage,\nsee the corresponding\n[multicore augmentation notebook](https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/A03%20-%20Multicore%20Augmentation.ipynb)\nor the API about\n[Augmenter.pool()](https://imgaug.readthedocs.io/en/latest/source/api_augmenters_meta.html#imgaug.augmenters.meta.Augmenter.pool)\nand\n[imgaug.multicore.Pool](https://imgaug.readthedocs.io/en/latest/source/api_multicore.html#imgaug.multicore.Pool).\n\n\n### Example: Probability Distributions as Parameters\n\nMost augmenters support using tuples `(a, b)` as a shortcut to denote\n`uniform(a, b)` or lists `[a, b, c]` to denote a set of allowed values from\nwhich one will be picked randomly. If you require more complex probability\ndistributions (e.g. gaussians, truncated gaussians or poisson distributions)\nyou can use stochastic parameters from `imgaug.parameters`:\n\n```python\nimport numpy as np\nfrom imgaug import augmenters as iaa\nfrom imgaug import parameters as iap\n\nimages = np.random.randint(0, 255, (16, 128, 128, 3), dtype=np.uint8)\n\n# Blur by a value sigma which is sampled from a uniform distribution\n# of range 10.1 \u003c= x \u003c 13.0.\n# The convenience shortcut for this is: GaussianBlur((10.1, 13.0))\nblurer = iaa.GaussianBlur(10 + iap.Uniform(0.1, 3.0))\nimages_aug = blurer(images=images)\n\n# Blur by a value sigma which is sampled from a gaussian distribution\n# N(1.0, 0.1), i.e. sample a value that is usually around 1.0.\n# Clip the resulting value so that it never gets below 0.1 or above 3.0.\nblurer = iaa.GaussianBlur(iap.Clip(iap.Normal(1.0, 0.1), 0.1, 3.0))\nimages_aug = blurer(images=images)\n```\n\nThere are many more probability distributions in the library, e.g. truncated\ngaussian distribution, poisson distribution or beta distribution.\n\n\n### Example: WithChannels\n\nApply an augmenter only to specific image channels:\n```python\nimport numpy as np\nimport imgaug.augmenters as iaa\n\n# fake RGB images\nimages = np.random.randint(0, 255, (16, 128, 128, 3), dtype=np.uint8)\n\n# add a random value from the range (-30, 30) to the first two channels of\n# input images (e.g. to the R and G channels)\naug = iaa.WithChannels(\n  channels=[0, 1],\n  children=iaa.Add((-30, 30))\n)\n\nimages_aug = aug(images=images)\n```\n\n\n\u003ca name=\"citation\"/\u003e\n\n## Citation\n\n\u003c!--\nNote: the table only lists people who have their real names (publicly)\nset in their github\n\nList of username-realname matching based on\nhttps://github.com/aleju/imgaug/graphs/contributors ordered by commits:\n\nwkentaro            Wada, Kentaro\nErotemic            Crall, Jon\nstnk20              Tanaka, Satoshi\njgraving            Graving, Jake\ncreinders           Reinders, Christoph     (lastname not public on github, guessed from username)\nSarthakYadav        Yadav, Sarthak\nnektor211           ?\njoybanerjee08       Banerjee, Joy\ngaborvecsei         Vecsei, Gábor\nadamwkraft          Kraft, Adam\nZhengRui            Rui, Zheng\nBorda               Borovec, Jirka\nvallentin           Vallentin, Christian\nss18                Zhydenko, Semen\nkilsenp             Pfeiffer, Kilian\nkacper1095          ?\nismaelfm            Fernández, Ismael\nfmder               De Rainville, François-Michel\nfchouteau           ?\nchi-hung            Weng, Chi-Hung\napatsekin           ?\nabnera              Ayala-Acevedo, Abner\nRephaelMeudec       Meudec, Raphael\nPetemir             Laporte, Matias\n\n--\u003e\nIf this library has helped you during your research, feel free to cite it:\n```latex\n@misc{imgaug,\n  author = {Jung, Alexander B.\n            and Wada, Kentaro\n            and Crall, Jon\n            and Tanaka, Satoshi\n            and Graving, Jake\n            and Reinders, Christoph\n            and Yadav, Sarthak\n            and Banerjee, Joy\n            and Vecsei, Gábor\n            and Kraft, Adam\n            and Rui, Zheng\n            and Borovec, Jirka\n            and Vallentin, Christian\n            and Zhydenko, Semen\n            and Pfeiffer, Kilian\n            and Cook, Ben\n            and Fernández, Ismael\n            and De Rainville, François-Michel\n            and Weng, Chi-Hung\n            and Ayala-Acevedo, Abner\n            and Meudec, Raphael\n            and Laporte, Matias\n            and others},\n  title = {{imgaug}},\n  howpublished = {\\url{https://github.com/aleju/imgaug}},\n  year = {2020},\n  note = {Online; accessed 01-Feb-2020}\n}\n```\n","funding_links":[],"categories":["Image Augmentation","Python","Computer Vision","Sensor Processing","Data Processing","其他_机器视觉","图像数据与CV","Image","Feature Extraction","Pre-processing"],"sub_categories":["Others","Image Processing","Data Pre-processing \u0026 Loading","NLP","网络服务_其他","Libraries","Images and Video"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleju%2Fimgaug","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleju%2Fimgaug","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleju%2Fimgaug/lists"}