-
Notifications
You must be signed in to change notification settings - Fork 595
/
docs-examples-imageoutput.py
88 lines (67 loc) · 2.36 KB
/
docs-examples-imageoutput.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/usr/bin/env python
# Copyright Contributors to the OpenImageIO project.
# SPDX-License-Identifier: Apache-2.0
# https://github.com/AcademySoftwareFoundation/OpenImageIO
############################################################################
# This file contains code examples from the ImageOutput chapter of the
# main OpenImageIO documentation.
#
# To add an additional test, replicate the section below. Change
# "example1" to a helpful short name that identifies the example.
# BEGIN-imageoutput-example1
import OpenImageIO as oiio
import numpy as np
def example1() :
#
# Example code fragment from the docs goes here.
#
# It probably should generate either some text output (which will show up
# in "out.txt" that captures each test's output), or it should produce a
# (small) image file that can be compared against a reference image that
# goes in the ref/ subdirectory of this test.
#
return
# END-imageoutput-example1
#
############################################################################
# BEGIN-imageoutput-simple
import OpenImageIO as oiio
import numpy as np
def simple_write() :
filename = "simple.tif"
xres = 320
yres = 240
channels = 3 # RGB
pixels = np.zeros((yres, xres, channels), dtype=np.uint8)
out = oiio.ImageOutput.create (filename)
if out:
spec = oiio.ImageSpec(xres, yres, channels, 'uint8')
out.open (filename, spec)
out.write_image (pixels)
out.close ()
# END-imageoutput-simple
import OpenImageIO as oiio
import numpy as np
def scanlines_write() :
filename = "scanlines.tif"
xres = 320
yres = 240
channels = 3 # RGB
spec = oiio.ImageSpec(xres, yres, channels, 'uint8')
out = oiio.ImageOutput.create (filename)
if out:
# BEGIN-imageoutput-scanlines
z = 0 # Always zero for 2D images
out.open (filename, spec)
for y in range(yres) :
# Generate pixel array for one scanline.
# As an example, we are just making a zero-filled scanline
scanline = np.zeros((xres, channels), dtype=np.uint8)
out.write_scanline (y, z, scanline)
out.close ()
# END-imageoutput-scanlines
if __name__ == '__main__':
# Each example function needs to get called here, or it won't execute
# as part of the test.
simple_write()
scanlines_write()