I see.... you used a Autotrace to generate coordinate positions for the people.immortal26 wrote:In final result's it gives me ONE member at each point! Hooray!
then compose each person at the position indicated. Pretty nifty.
I see.... you used a Autotrace to generate coordinate positions for the people.immortal26 wrote:In final result's it gives me ONE member at each point! Hooray!
Very very nice. I think you got the gist of it Anthony.anthony wrote:anthony wrote:Very good.
I gather you use a 'dot' font to draw the name, then distort that to fit the background image, and then replace each 'dot' with a small human figure, before it is overlaid on the background image.
Very tricky. and you obviously a lot of fun to create it.
What did you use for the 'dot replacement'
Looking close you can see some figures 'doubled up'. You may like to look at some type of morphology to convert any large dot to a single dot before converting 'dots to people'.Actually I hadn't! But at the time I looked at your links I saw a picture of a stadium filled with a large crowd, but an empty field, but then the same picture with lots on 'little' people standing around so as to form letters of a name.immortal26 wrote:Hi Anthony,
I think you posted in the wrong topic, but thats okay I'm sure somebody can move it... but.
I've been trying out this morphology option but I can't seem to get this dot font down to one pixel for each dot.
Here is the font, maybe you can give me some ideas?:
http://core.kpcdigital.com/mvp/stadium/bc/font/dot.ttf
Thanks Man,
Immortal
The links are now (original)
http://core.kpcdigital.com/mvp/stadium/ ... lorida.png
With the result
http://core.kpcdigital.com/mvp/stadium/ ... /final.jpg
I still like to know how you placed all those ant-like people!
As for the 'dot' font. After distorting, I would first so a threshold on the image to make it binary, then would use a Morphology Thinning transform to repeatedly remove 'edge' from the image until you get a single dot.
For example...Code: Select all
convert -font Dot -pointsize 144 label:Anthony \ -trim +repage -bordercolor white -border 5 -negate anthony_dots.gif
Use morphology Thinning to convert the dots to single points.Code: Select all
convert anthony_dots.gif -threshold 80% \ -morphology Thinning:-1 'LineEnds;Corners;Edges' anthony_pixels.gif
Distort and enhance to single dots againCode: Select all
convert anthony_pixels.gif +distort Affine '0,0 0,0 0,1 .5,.2 1,0 1,-.2'\ -threshold 10% -morphology Thinning 'LineEnds;Corners;Edges' anthony_final.gif
Code: Select all
convert anthony_final.gif txt:- | sed -n '/white/s/:.*//p'
the sed does two things. look for 'white' pixels in the output, and remove all the other stuff but the coordinates. Of course the API can do this too.371,9
376,11
381,13
386,15
337,16
390,17
...
Code: Select all
convert -size 100x100 xc:black -fill white -draw 'point 30,40 point 70,70' pixel.png
Code: Select all
wget http://core.kpcdigital.com/mvp/stadium/louisiana/bitmap/bm1.png
Code: Select all
image2kernel bm1.png kernel.dat
Code: Select all
convert pixel.png -alpha off \
\( -clone 0 -morphology Convolve "`cat kernel_R.dat`" \) \
\( -clone 0 -morphology Convolve "`cat kernel_G.dat`" \) \
\( -clone 0 -morphology Convolve "`cat kernel_B.dat`" \) \
\( -clone 0 -morphology Convolve "`cat kernel_A.dat`" -negate \) \
-delete 0 -channel RGBA -combine pixel_to_bm1.png
Code: Select all
convolve_image pixel.png bm1.png pixel_to_bm1.png
Even when using random bandmembers? (rand(1,4))Note: you can improve some memory performance by only reading in the composition image(s) once and using clone to generate other copies. This will not copy the overlay image data which reamins unchanged from compose to compose.
Code: Select all
convert image.png \
\( bm1.png -repage +10+10 \) \
\( bm2.png -repage +20+10 \) \
\( bm3.png -repage +30+10 \) \
\( bm4.png -repage +40+10 \) \
\( -clone 1 -repage +10+20 \) \
\( -clone 2 -repage +20+20 \) \
\( -clone 3 -repage +30+20 \) \
\( -clone 4 -repage +40+20 \) \
\( -clone 1 -repage +10+30 \) \
\( -clone 2 -repage +20+30 \) \
\( -clone 3 -repage +30+30 \) \
\( -clone 4 -repage +40+30 \) \
-flatten result.png