#!env python
import sys
infp = open(sys.argv[1], 'r')
outfp = open(sys.argv[2], 'w')
for line in infp.readlines():
s = line.split()
if len(s) < 1:
continue
if s[0] == 'v':
x = 2*float(s[1])
y = 2*float(s[2])
z = 2*float(s[3])
outfp.write('v ' + str(x) + ' ' + str(y) + ' ' + str(z) + '\n')
else:
outfp.write(line)
infp.close()
outfp.close()
infp = open(sys.argv[1], 'r')
outfp = open(sys.argv[2], 'w')
for line in infp.readlines():
s = line.split()
if len(s) < 1:
continue
if s[0] == 'v':
x = 2*float(s[1])
y = 2*float(s[2])
z = 2*float(s[3])
outfp.write('v ' + str(x) + ' ' + str(y) + ' ' + str(z) + '\n')
else:
outfp.write(line)
infp.close()
outfp.close()
画像合成をマスクを使用して処理するスクリプトです。
入力画像ファイルの解像度はすべて同じという前提で作成してあります。
#!env python
import sys
import struct
destfile = open(sys.argv[1], 'r')
srcfile = open(sys.argv[2], 'r')
maskfile = open(sys.argv[3], 'r')
outfile = open(sys.argv[4], 'w')
for i in range(3):
d = destfile.readline()
outfile.write(d)
srcfile.readline()
maskfile.readline()
destdata = destfile.read()
srcdata = srcfile.read()
maskdata = maskfile.read()
odata = ''
for i in range(len(destdata)/3):
rn = 3*i
gn = rn + 1
bn = rn + 2
r1 = ord(destdata[rn])
g1 = ord(destdata[gn])
b1 = ord(destdata[bn])
r2 = ord(srcdata[rn])
g2 = ord(srcdata[gn])
b2 = ord(srcdata[bn])
r3 = ord(maskdata[rn])/255.0
g3 = ord(maskdata[gn])/255.0
b3 = ord(maskdata[bn])/255.0
r = r1*(1.0 - r3) + r2*r3
g = g1*(1.0 - g3) + g2*r3
b = b1*(1.0 - b3) + b2*r3
odata += struct.pack('BBB', r, g, b)
outfile.write(odata)
destfile.close()
srcfile.close()
maskfile.close()
outfile.close()
destfile = open(sys.argv[1], 'r')
srcfile = open(sys.argv[2], 'r')
maskfile = open(sys.argv[3], 'r')
outfile = open(sys.argv[4], 'w')
for i in range(3):
d = destfile.readline()
outfile.write(d)
srcfile.readline()
maskfile.readline()
destdata = destfile.read()
srcdata = srcfile.read()
maskdata = maskfile.read()
odata = ''
for i in range(len(destdata)/3):
rn = 3*i
gn = rn + 1
bn = rn + 2
r1 = ord(destdata[rn])
g1 = ord(destdata[gn])
b1 = ord(destdata[bn])
r2 = ord(srcdata[rn])
g2 = ord(srcdata[gn])
b2 = ord(srcdata[bn])
r3 = ord(maskdata[rn])/255.0
g3 = ord(maskdata[gn])/255.0
b3 = ord(maskdata[bn])/255.0
r = r1*(1.0 - r3) + r2*r3
g = g1*(1.0 - g3) + g2*r3
b = b1*(1.0 - b3) + b2*r3
odata += struct.pack('BBB', r, g, b)
outfile.write(odata)
destfile.close()
srcfile.close()
maskfile.close()
outfile.close()