Image.String#
- classmethod Image.String(*planes: str, colororder: str | None = None, **kwargs: Any) Self[source]#
Create a small image from text string
- Parameters:
planes (str) – text strings, one per plane
colororder (str) – color plane names, defaults to None
kwargs – additional arguments passed to
Imageconstructor
- Returns:
image
- Return type:
Useful for creating simple images, particularly for unit tests.
Creates a new image initialized to a compact representation given by a string. Each string defines a single plane, multiple plane images can be created. Two string formats are supported:
Single line
Each pixel is a single character, and image rows are separated by a pipe. There are no spaces. All rows must be the same length.
Example:
>>> from machinevisiontoolbox import Image >>> img = Image.String('01234|56789|87654') >>> img.print() 0 1 2 3 4 5 6 7 8 9 8 7 6 5 4
Note
Pixel values are determined by the unicode value of the character relative to unicode for ‘0’, so other ASCII characters (apart from pipe) can be used to obtain pixel values greater than 9. ‘Z’ is 90 and ‘z’ is 122.
Multiline
The string representation of the image is given in ASCII art format:
>>> from machinevisiontoolbox import Image >>> img = Image.String(r''' ... .......... ... .########. ... .########. ... .########. ... .########. ... .......... ... ''', binary=True) >>> img.print() 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
where the characters represent pixel values: “.” is zero, otherwise the character’s ordinal value is used. Use the
binaryoption to turn 0 and ordinal value intoFalseandTruerespectively. Indentation is removed, blank lines are ignored. A multi-level image can be created by:>>> from machinevisiontoolbox import Image >>> img = Image.String(r''' ... 000000000 ... 011112220 ... 011112220 ... 011112220 ... 000000000 ... ''') - ord("0") >>> img.print() 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 0 0 1 1 1 1 2 2 2 0 0 1 1 1 1 2 2 2 0 0 0 0 0 0 0 0 0 0
which has pixel values of 0, 1 and 2.
Note
The default datatype for the image is
uint8- Seealso: