Po, 2018-12-24 14:27
Série: Tagy:
Po kratší, asi pětileté pauze se vracíme s vánočním DIY.
Kdy jindy než v tento čas plný pohody a klidu oceníte naši stres vzbuzující Zlomalovánku pro dospělé (věkem).
Verzi pro tisk stahujte zde (cca. 0.5 MB).
K vybarvování doporučujeme ty nejtemnější pastelky. Kdo nám v komentářích nebo na Twitter pošle obrazovou dokumentaci hotového výtvoru, nevyhraje nic.
Ať slouží!
» Hodnocení:
Komentáře
První!
První!
A stejně jsem nic nedokázal...
Hmm takže když způsobíte
Hmm takže když způsobíte nukleární válku, tak máte z 33% splněno :-D
To je závazek do nového roku?
To je závazek do nového roku? :-P
Automatizovat
https://jenda.hrach.eu/f/bugemos-589.png
import cv2
import numpy as np
import queue
im = cv2.imread("Stresova-Zlomalovanka.png")
def darkcolor():
__a = np.random.uniform(0, 127, size=3)
__return a
def cond(p):
__return (p>127).all()
def dfsfill(im,x,y,c):
__if not cond(im[x,y]):
____return
__q = queue.Queue()
__q.put((x,y))
__while not q.empty():
____x,y = q.get()
____if x>=1 and cond(im[x-1, y]):
______im[x-1, y] = c
______q.put((x-1, y))
____if y>=1 and cond(im[x,y-1]):
______im[x, y-1] = c
______q.put((x, y-1))
____if x<im.shape[0]-1 and cond(im[x+1,y]):
______im[x+1, y] = c
______q.put((x+1, y))
____if y<im.shape[1]-1 and cond(im[x,y+1]):
______im[x, y+1] = c
______q.put((x, y+1))
for x in range(im.shape[0]):
__for y in range(im.shape[1]):
____dfsfill(im, x, y, darkcolor())
__print("fill %i"%x)
cv2.imwrite("filled.png", im)
super načasování a ještě
super načasování a ještě lepší vybarvení! ;)
RE: Automatizovat
Rychlejší a kratší varianta v PHP
Online zmalovátor: https://hensl.tech/zlo.php
<?php
$im = imagecreatefrompng("Stresova-Zlomalovanka.png");
for($y = 0; $y < imagesy($im); $y++){
for($x = 0; $x < imagesx($im); $x++){
if((imagecolorat($im, $x, $y) & 0xFF) > 127){
imagesetpixel($im, $x, $y, 0xFFFFFF);
}
else{
imagesetpixel($im, $x, $y, 0x000000);
} } }
for($y = 0; $y < imagesy($im); $y++){
for($x = 0; $x < imagesx($im); $x++){
if(imagecolorat($im, $x, $y) == 0xFFFFFF){
imagefilltoborder($im, $x, $y, 0x000000, mt_rand(0, 0xFFFFFF));
} } }
imagepng($im, "zlo.png");
příliš mnoho barev. černá a
příliš mnoho barev. černá a červná by plně postačovaly.
Opět jste dokazal, jen to že jste nic nedokázal
:)
Haha
Jerry64...hahaha...Jerry64... Skoda, s takovym jmenem dnes zkousku neudelate.
Zkuste to priste, mozna budu mene rozmarily....
Když už opencv
import cv2
import numpy
img = cv2.imread("Stresova-Zlomalovanka.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.threshold(gray, 128, 255, cv2.THRESH_BINARY, dst=gray)
_, markers = cv2.connectedComponents(gray, connectivity=4)
img = cv2.cvtColor(markers.astype("uint8"), cv2.COLOR_GRAY2BGR)
lut = numpy.random.randint(0, 255, (1, 256, 3)).astype("uint8")
lut[0, 0, :] = 0
cv2.LUT(img, lut, img)
cv2.imshow("zlo", img)
cv2.waitKey()
SVG, PDF
Nie, radšej křivky https://nahraj.to/g/L1f
Efektivní obarvování abstraktních grafických struktur
Tento příspěvek se zabývá novými možnostmi efektivního obarvování abstraktních grafických struktur (map) studovaný autory [1]. Autoři dávají volně k dispozici výsledky svého výzkumu[2]. S využitím důkazu [3] a aplikací zjištění [4] ukážeme možnost rychlého obarvení výše zmíněné mapy v rámci slabšího teorému [5].
Upozornění: Pro účely tohoto výzkumu nejsou uzavřené oblasti glyfů považovány za součást mapy.
Neobarvená mapa byla nejprve vyexportována jako bitmapa v maximálním možném rozlišení. Toto rozlišení bylo určeno jako limitní rozlišení, kdy již další zvětšení tvoří jen čtvercové struktury místo obrazových bodů.
Tato vyexportovaná bitmapa byla ohodnocena prahovým algoritmem tak, že všechny body s hodnotou menší než 225 byly označeny kódem 0 a s hodnotou stejnou či větší pak kódem 16777215. Kódy odpovídají barvám v BGR prostoru v LE kódování. Prahová hodnota 225 byla určena měřením estetické reakce testovacích subjektů.
Pro další operace byl implementován software v moderním dialektu jazyka Scheme [6].
V nově získané bitmapě byly iterativně označeny souvislé oblasti kódu 16777215 a každé byl přiřazen nový kód dle pravidla (+ (* w y) x). Následně byly tyto oblasti rozšířeny do přilehlých obrazových bodů s kódem nula. Tato operace proběhla postupně vždy jeden bod pro jeden region tak, aby nedošlo k hladovému roztáhnutí oblastí ve směru os souřadnic. Všechny body byly vyplněny v devíti iteracích.
Z takto pročištěné mapy byl sestaven seznam hran neorientovaného grafu, kdy každá plocha je reprezentována uzlem a sousedství ploch je pak vyjádřeno hranou tohoto grafu. Vhodným seřazením uzlů dle počtu navazujících hran, stochastickou alokací barev ze zadané množiny a s nutností - byť drobného - backtrackingu, byl graf obarven pěti barevnými kódy.
Rešerší z dalších prací autorú [7] byly vybrány nejvhodnější možné barvy pro zobrazení a čtyři finální barvy pak byly opět určeny měřením estetické reakce testovacích subjektů.
Výsledek algoritmu je možné vidět na [8] a [9].
Budoucí práce by se měly zaměřit na praktickou aplikaci kvadratického algoritmu pro obarvení pouze 4 barvami [4]. Nelze vyloučit, že ačkoliv chromatické číslo mapy [2] je 4 (uvádíme bez důkazů), je možné, že estetické nároky znemožní vizuálně atraktivní obarvení pouze čtyřmi barvami.
[1] https://bugemos.com/
[2] https://www.bugemos.com/?q=node/589
[3] Wikipedia contributors. (2018, December 18). Four color theorem. In Wikipedia, The Free Encyclopedia. Retrieved 09:19, December 31, 2018, from https://en.wikipedia.org/w/index.php?title=Four_color_theorem&oldid=874329529
[4] http://people.math.gatech.edu/~thomas/PAP/fcstoc.pdf
[5] Wikipedia contributors. (2018, August 14). Five color theorem. In Wikipedia, The Free Encyclopedia. Retrieved 09:19, December 31, 2018, from https://en.wikipedia.org/w/index.php?title=Five_color_theorem&oldid=854955535
[6] http://racket-lang.org/
[7] https://www.bugemos.com/?q=taxonomy/term/51
[8] http://joe.cz/bugemos/Stresova-Zlomalovanka-5ct-hd.png
[9] http://joe.cz/bugemos/Stresova-Zlomalovanka-5ct-full.png
Hustokrutoprisne. Davam 5
Hustokrutoprisne. Davam 5 andulek! Navrhuji preklad a publikaci v http://www.jir.com/
kalendář? :-)
Zlo nám už visí v kanceláři v rámečku jako motivace. Nicméně po dokončení jsem si říkal, že by bylo lepší, kdyby tu visel celý kalendář (takový Zlondář:-). Samozřejmě by těch dvanáct měsíců muselo být proloženo Kapitánem Pejskem a Majorem Ostřížem :-)