def stamp_and_number_image(directory, rescaled_directory, map_directory, data_directory, output_directory, blah):
try:
t = (RES_Y, RES_X, 4)
i = blah['i']
fname = blah['fname']
poly = blah['poly']
image = get_rescaled(fname, rescaled_directory)
map_fname = os.path.join(map_directory, "map.%05d.png" % i)
map_pad = np.zeros(t, dtype=np.uint8)
map_ = cv2.imread(map_fname, cv2.IMREAD_UNCHANGED)
s = map_.shape
map_pad[t[0]-s[0]-40:t[0]-40, t[1]-s[1]-40:t[1]-40] = map_
image = cv2.addWeighted(map_pad, 1, image, 1, 0)
berkeley_logo_pad = np.zeros(t, dtype=np.uint8)
berkeley_logo = cv2.imread(os.path.join(data_directory, "logo_footer_berkeley.png"), cv2.IMREAD_UNCHANGED)
s = berkeley_logo.shape
berkeley_logo_pad[40:40+s[0], 1700:1700+s[1]] = berkeley_logo
image = cv2.addWeighted(berkeley_logo_pad, 1, image, 1, 0)
google_logo_pad = np.zeros(t, dtype=np.uint8)
google_logo = cv2.imread(os.path.join(data_directory, "logo_footer_google.png"), cv2.IMREAD_UNCHANGED)
s = google_logo.shape
google_logo_pad[40:40+s[0], 1800:1800+s[1]] = google_logo
image = cv2.addWeighted(google_logo_pad, 1, image, 1, 0)
megamovie_logo_pad = np.zeros(t, dtype=np.uint8)
megamovie_logo = cv2.imread(os.path.join(data_directory, "EclipseMovie_logo_crop.png"), cv2.IMREAD_UNCHANGED)
s = megamovie_logo.shape
megamovie_logo_pad[40:40+s[0], 40:40+s[1]] = megamovie_logo
image = cv2.addWeighted(megamovie_logo_pad, 1, image, 1, 0)
im = Image.new("RGBA", (image.shape[1], image.shape[0]), (0,0,0,0))
draw = ImageDraw.Draw(im)
font = ImageFont.truetype("ProductSans-Regular.ttf", 39)
txt = "Eclipse Megamovie 2017"
draw.text((140, 45), txt, (255,255,255,255), font=font)
tfmt = poly[2].strftime("%H:%M:%S")
txt = "Time at Umbral Center: %s" % tfmt
draw.text((1350, 1040), txt, (255,255,255,255), font=font)
# txt = "Frame #%d %s" % (i, fname)
# draw.text((20, 1040), txt, (255,255,255,255), font=font)
x = cv2.cvtColor(np.asarray(im), cv2.COLOR_RGB2BGR)
b_channel, g_channel, r_channel = cv2.split(x)
alpha_channel = np.ones(b_channel.shape, dtype=b_channel.dtype) * 255
x = cv2.merge((b_channel, g_channel, r_channel, alpha_channel))
image = cv2.addWeighted( x, 1, image, 1, 0.0)
new_fname = os.path.join(output_directory, "%05d.png" % i)
cv2.imwrite(new_fname, image)
return i, fname, True
except Exception as e:
traceback.print_exc(limit=50)
return i, fname, False
评论列表
文章目录