Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Avatar Gallery Submission Thread

Do you care about custom avatars?

  • Yes, and I want something done about it.

    Votes: 314 54.5%
  • No, just leave it the way it is.

    Votes: 262 45.5%

  • Total voters
    576

Fairfax

Arcane
Joined
Jun 17, 2015
Messages
3,518
I love that piece, but that's a pretty washed scan. Here's one using the original:
ItENe7e.png
Infinitron :M
 

Disciple

Savant
Joined
Feb 18, 2018
Messages
269
I noticed several characters featured in The Battle for Wesnoth's mainline campaigns were missing in the corresponding game avatars section, so I decided to crop and resize their portrait files included in the game directory (1.14.4 version) in case the moderators feel like adding them to the database. Eighteen images in total, all of them in a 96x96 px size and with a transparent background.

Arvith.png
Baldras.png
Dacyn.png
Darken.png
Delfador.png
Deoran.png

Erlornas.png
Haldric.png
Kai_Krellis.png
Kalenz.png
Kapoue.png
Konrad.png

Leollyn.png
Linaera.png
Lisar.png
Maddock.png
Melusand.png
Rugnur.png


I also uploaded them as a .zip to Zippyshare.
 

Infinitron

I post news
Staff Member
Joined
Jan 28, 2011
Messages
97,228
Codex Year of the Donut Serpent in the Staglands Dead State Divinity: Original Sin Project: Eternity Torment: Tides of Numenera Wasteland 2 Shadorwun: Hong Kong Divinity: Original Sin 2 A Beautifully Desolate Campaign Pillars of Eternity 2: Deadfire Pathfinder: Kingmaker Pathfinder: Wrath I'm very into cock and ball torture I helped put crap in Monomyth
I noticed several characters featured in The Battle for Wesnoth's mainline campaigns were missing in the corresponding game avatars section, so I decided to crop and resize their portrait files included in the game directory (1.14.4 version) in case the moderators feel like adding them to the database. Eighteen images in total, all of them in a 96x96 px size and with a transparent background.

Arvith.png
Baldras.png
Dacyn.png
Darken.png
Delfador.png
Deoran.png

Erlornas.png
Haldric.png
Kai_Krellis.png
Kalenz.png
Kapoue.png
Konrad.png

Leollyn.png
Linaera.png
Lisar.png
Maddock.png
Melusand.png
Rugnur.png


I also uploaded them as a .zip to Zippyshare.

It would be cool if you could do all of the game's portraits in this style (with a transparent background).

It seems the existing portraits are also JPGs instead of PNGs, very lame
 

Disciple

Savant
Joined
Feb 18, 2018
Messages
269
It would be cool if you could do all of the game's portraits in this style (with a transparent background).

It seems the existing portraits are also JPGs instead of PNGs, very lame

Thank you for taking my modest proposal into consideration and adding the image files to the database. Here are the rest of the mainline campaigns' characters of which I could make decent avatars:

Addroran.png
Albrock.png
Aryad.png
Baran.png
Caladon.png
Chantal.png

Crelanu.png
Delfador2.png
Dommel.png
Drogan.png
Durstorn.png
Eldaric.png

Ethiliel.png
Garard.png
Gruu.png
Gwabbo.png
Haldric2.png
Harper.png

Helicrom.png
Hylas.png
Jetto.png
Kaleh.png
Khrakhras.png
Ladoc.png

Lomarfel.png
Malin.png
Mal_Ravanal.png
Methor.png
Olurf.png
Oracle.png

Tallin.png
Velon.png

And the .zip file containing the thirty-two new avatars: Zippyshare
 

Infinitron

I post news
Staff Member
Joined
Jan 28, 2011
Messages
97,228
Codex Year of the Donut Serpent in the Staglands Dead State Divinity: Original Sin Project: Eternity Torment: Tides of Numenera Wasteland 2 Shadorwun: Hong Kong Divinity: Original Sin 2 A Beautifully Desolate Campaign Pillars of Eternity 2: Deadfire Pathfinder: Kingmaker Pathfinder: Wrath I'm very into cock and ball torture I helped put crap in Monomyth
New avatar gallery - the actual Planescape: Torment portraits (including unused TNO concepts):

RM3IzTX.png


More stuff coming up later.
 

Infinitron

I post news
Staff Member
Joined
Jan 28, 2011
Messages
97,228
Codex Year of the Donut Serpent in the Staglands Dead State Divinity: Original Sin Project: Eternity Torment: Tides of Numenera Wasteland 2 Shadorwun: Hong Kong Divinity: Original Sin 2 A Beautifully Desolate Campaign Pillars of Eternity 2: Deadfire Pathfinder: Kingmaker Pathfinder: Wrath I'm very into cock and ball torture I helped put crap in Monomyth
We needed a better Icewind Dale II avatar gallery.

Portraits in IWD2 come in two sizes - large rectangular full body portraits for the character screens, and small square facial portraits for the main party interface. We want the latter for the Codex gallery (because I can't be arsed to manually crop out the faces from the large ones).

Problem: The square portraits are too small. The Codex uses 96x96 avatars and they're 42x42. They'd look like garbage if I upscaled them.

Solution: Use a template matching computer vision algorithm to automatically locate and extract higher res versions of the facial portraits from the larger full body portraits.

Code:
import cv2
import imutils
import os

SMALL_EXT = "_S.BMP"
LARGE_EXT = "_L.BMP"
MATCHED_EXT = "_L.PNG"

SMALL_SIZE = 42

names = [filename.split('_')[0] for filename in os.listdir() if filename.endswith(SMALL_EXT)]

for name in names:
    small = cv2.imread(name + SMALL_EXT)
    large = cv2.imread(name + LARGE_EXT)

    template = cv2.Canny(cv2.cvtColor(small, cv2.COLOR_BGR2GRAY), 50, 200)
    found = None

    for width in range(SMALL_SIZE, large.shape[1] + 1):
        image = cv2.Canny(imutils.resize(cv2.cvtColor(large, cv2.COLOR_BGR2GRAY), width = width), 50, 200)
        r = large.shape[1] / image.shape[1]

        result = cv2.matchTemplate(image, template, cv2.TM_CCOEFF)
        _, maxVal, _, maxLoc = cv2.minMaxLoc(result)

        if found is None or maxVal > found[0]:
            found = (maxVal, maxLoc, r)

    _, maxLoc, r = found
    startX, startY, size = int(maxLoc[0] * r), int(maxLoc[1] * r), int(SMALL_SIZE * r)
    endX, endY = startX + size, startY + size

    matched = large[startY:endY,startX:endX]
    cv2.imwrite(name + MATCHED_EXT, matched)

Result:

zEtLALV.png
 
Last edited:

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom