Necroscope
Arcane
Just so you know, there are 83 avatars made from Boris Vallejo artworks available in the gallery:
Consider this a Merry Christmas.
Consider this a Merry Christmas.
Can we request one personal avatar, not a whole bunch of them?
For myself, personally, I'd like to use this image:
Just so you know, there are 83 avatars made from Boris Vallejo artworks available in the gallery:
Consider this a Merry Christmas.
Can we request one personal avatar, not a whole bunch of them?
For myself, personally, I'd like to use this image:
Unlikely, but in case admins end up satisfying your request, here's the image in proper dimensions:
So now they're started accepting trivial works of lesser artists but not including these masterpieces from the Numenera Collector's edition?Just so you know, there are 83 avatars made from Boris Vallejo artworks available in the gallery:
Consider this a Merry Christmas.
Note of the Outskirts:
https://easyupload.io/6uuif2
(Originally from a free portrait pack by Ashen Victor: https://ashen-victor.itch.io/sci-fi-character-portraits-poject)
They do look a bit silly. HereNote of the Outskirts:
https://easyupload.io/6uuif2
(Originally from a free portrait pack by Ashen Victor: https://ashen-victor.itch.io/sci-fi-character-portraits-poject)
Non-square shaped. But fine.
import face_recognition
import os
import PIL
PORTRAIT_EXT = ".png"
OUTPUT_DIR = "Output"
def expand_portrait(startY, endY, expand, maxHeight):
offset = min(startY, int(expand/2))
startY -= offset
expand -= offset
offset = min(maxHeight-endY, expand)
endY += offset
expand -= offset
startY -= min(startY, expand)
return startY, endY
if not os.path.exists(OUTPUT_DIR):
os.mkdir(OUTPUT_DIR)
for portrait_filename in [filename for filename in os.listdir() if filename.endswith(PORTRAIT_EXT)]:
portrait = face_recognition.load_image_file(portrait_filename)
locations = face_recognition.face_locations(portrait)
if not locations:
locations = face_recognition.face_locations(portrait, number_of_times_to_upsample=2, model="cnn")
for index, location in enumerate(locations):
startY, endX, endY, startX = location
startY, endY = expand_portrait(startY, endY, portrait.shape[1]-(endY-startY), portrait.shape[0])
result = portrait[startY:endY, :]
result_filename = portrait_filename if index == 0 else os.path.splitext(portrait_filename)[0] + str(index) + PORTRAIT_EXT
PIL.Image.fromarray(result).save(OUTPUT_DIR + os.sep + result_filename)