machinevisiontoolbox.Image.strhcat
- classmethod Image.strhcat(*images: Sequence['Image'], widths: int | Sequence[int] = 1, arraysep: str = ' |', labels: Sequence[str] | None = None) str [source]
Format several small images concatenated horizontally
- Parameters:
arrays (Numpy arrays) – one or more arrays to be formatted horizontally concantenated
widths (int or list of ints, optional) – number of digits for the formatted array elements, defaults to 1. If scalar applies to all images, if list applies to each image.
arraysep (str, optional) – separator between arrays, defaults to “ |”
labels (list of str, optional) – list of labels for each array, defaults to None
- Returns:
multiline string containing formatted arrays
- Return type:
str
- Raises:
ValueError – if the arrays have different numbers of rows
For image processing this is useful for displaying small test images.
The arrays are formatted and concatenated horizontally with a vertical separator. Each array has a header row that indicates the column number. Each row has a header column that indicates the row number.
>>> from machinevisiontoolbox import Image >>> A = Image.Random((5,5), maxval=9) >>> print(Image.strhcat(A)) 0 1 2 3 4 - - - - - 0: 8 1 0 7 3 1: 3 6 4 1 6 2: 5 6 1 0 3 3: 0 8 6 1 6 4: 6 5 2 7 4 >>> print(Image.strhcat(A, widths=2)) 0 1 2 3 4 - - - - - 0: 8 1 0 7 3 1: 3 6 4 1 6 2: 5 6 1 0 3 3: 0 8 6 1 6 4: 6 5 2 7 4 >>> B = Image.Random((5,5), maxval=9) >>> print(Image.strhcat(A, B)) 0 1 2 3 4 0 1 2 3 4 - - - - - - - - - - 0: 8 1 0 7 3 | 2 1 8 7 3 1: 3 6 4 1 6 | 2 3 7 2 4 2: 5 6 1 0 3 | 8 7 2 7 8 3: 0 8 6 1 6 | 6 7 2 0 7 4: 6 5 2 7 4 | 0 1 1 0 4 >>> print(Image.strhcat(A, B, labels=("A:", "B:"))) A: B: 0 1 2 3 4 0 1 2 3 4 - - - - - - - - - - 0: 8 1 0 7 3 | 2 1 8 7 3 1: 3 6 4 1 6 | 2 3 7 2 4 2: 5 6 1 0 3 | 8 7 2 7 8 3: 0 8 6 1 6 | 6 7 2 0 7 4: 6 5 2 7 4 | 0 1 1 0 4
The number of rows in each image must be the same, but the number of columns can vary.
- Seealso:
Image.print
Image.showpixels
Image