-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnpview
executable file
·42 lines (32 loc) · 1.18 KB
/
npview
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
#!/usr/bin/python
import sys
import numpy
import scipy.misc
from base64 import b64encode
from StringIO import StringIO
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--width', type=int, default=512)
parser.add_argument('--height', type=int, default=512)
parser.add_argument('--noresize', action='store_true', default=False)
parser.add_argument('--bgr', action='store_true', default=False)
parser.add_argument('filenames', nargs='+')
args = parser.parse_args()
for filename in args.filenames:
arr = numpy.load(filename)
if args.bgr:
arr = arr[...,::-1]
outfile = StringIO()
im = scipy.misc.toimage(arr,cmin=0.,cmax=1.)
if not args.noresize:
im.thumbnail((args.width, args.height))
im.save(outfile, format="png")
if len(args.filenames) > 1:
sys.stdout.write(filename + "\n")
sys.stdout.write("\033]1337;File=name=%s;size=%d;inline=1:%s\a\n" %
(b64encode('tmp.png'), outfile.len, b64encode(outfile.getvalue())))
if len(args.filenames) > 1:
sys.stdout.write("\n")
if __name__ == '__main__':
main()