Fairfax
Arcane
- Joined
- Jun 17, 2015
- Messages
- 3,518
InfinitronI love that piece, but that's a pretty washed scan. Here's one using the original:
InfinitronI love that piece, but that's a pretty washed scan. Here's one using the original:
I'd like for the Codex's ELEX avatar deficiency to be remedied. A compressed file is available here.
Examples:
I'd like for the Codex's ELEX avatar deficiency to be remedied. A compressed file is available here.
Examples:
96x96, not 120x120.
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.
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
The Quest avatars:
http://www.filedropper.com/thequest
For those who don't know, Redshift is currently working on The Quest 2, which will be not only turn-based but will also have a party. It might take a while though.
Infinitron, these haven't been uploaded yet either. Any reason for that?
I feel betrayed, somehow.
Collector's edition Numenera Portraits, I can upload the archive as well, if it makes it more convienient to implement these.
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)