marblingpy
Python command-line application to generate a randomized mathematical marbling image.
Usage
marblingpy [-h] [--init INIT] [--save FILE] -m M [-W W] [-H H] [--seed SEED] [--count C]
-h, --help show this help message and exit
--version show program\'s version number and exit
--init INIT if given, the distortion will start based from the image (png) file
--save FILE write generating image to FILE
-m M, --method M the tool function that applies to the image; I=ink-drop, T=tine-line.
-W W, --width W the width in integer of generating image file (gif)
-H H, --height H the height in integer of generating image file (gif)
--seed SEED input of an unsigned integer 0 or 2^32-1 to the algorithm that generates pseudo-random numbers throughout the program. the same seed produces the same result.
--interpolation INTERPOLATION pixel filling interpolation type
--count C the total number of times that tool functions shall be applied to render an image
-v, --verbose show verbose message
Example
To operate "ink-drop" method 10 times.
$ marblingpy --save output.png --method I --width 256 --height 256 --count 10 --verbose
Current seed: 1602334135
drop circle (0/10) : (x, y, r) = (194, 224, 52)
drop circle (1/10) : (x, y, r) = (147, 165, 86)
drop circle (2/10) : (x, y, r) = (184, 9, 42)
drop circle (3/10) : (x, y, r) = (98, 245, 58)
drop circle (4/10) : (x, y, r) = (155, 26, 30)
drop circle (5/10) : (x, y, r) = (195, 95, 10)
drop circle (6/10) : (x, y, r) = (185, 37, 87)
drop circle (7/10) : (x, y, r) = (82, 215, 70)
drop circle (8/10) : (x, y, r) = (233, 123, 29)
drop circle (9/10) : (x, y, r) = (51, 186, 41)
To set initial image, and use "tine-line" method 3 times.
$ marblingpy --init output.png --save output.png --method T --width 256 --height 256 --count 3 --verbose
Current seed: 1602334273
tine line (0/3) : (x1, y1), (x2, y2), shift, sharpness = (202, 44), (62, 177), 54, 27
tine line (1/3) : (x1, y1), (x2, y2), shift, sharpness = (23, 245), (76, 234), 146, 28
tine line (2/3) : (x1, y1), (x2, y2), shift, sharpness = (25, 23), (12, 127), 66, 7
System environment
- Python >=3.7
- pip 20.2.3
- opencv-python 4.4.0.44
Installation
from pypi
pip install marblingpy
from github
pip install git+https://github.com/taktpixel/marblingpy
for development
Clone this repository.
git clone git@github.com:taktpixel/marblingpy.git
For real time updating to pip command,
pip install -e .
To run python command.
python marblingpy/gen_marbling.py -h
Note
Authors
Licensing
marblingpy is dual-licensed; You may use this software under either LGPLv3 or our commercial (proprietary) license. See the LICENSE files for details.
References
- Lu, Shufang, Aubrey Jaffer, Xiaogang Jin, Hanli Zhao, and Xiaoyang Mao. "Mathematical marbling." IEEE computer graphics and applications 32, no. 6 (2011): 26-35.
Metadata
Release files for marblingpy 0.9.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| marblingpy-0.9.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / marblingpy-0.9.2-py3-none-any.whl
| Download URL | marblingpy-0.9.2-py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f1608bfaa934a89c50e9062ca8f3e0a9817ff327e53ea3a1a864234b9ecc55bd
|
|
BLAKE2b-256 checksum How to use checksums |
3d74afb0c8bf88d358bcbb326e407875f811f65e6505964cb5f436b443409ff8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.7
|
Security for marblingpy 0.9.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.