Original Usenet thread from alt.ascii-art, started 31 Jan 2002.
image2ascii edge detection
alt.ascii-art
· 1 message · 31 Jan 2002
Hi,
Recently there was a discussion about edge tracing and edge detection
algorithms for automatic image2ascii conversion. I have already
presented some results from a simple edge _tracing_ algorithm. They were
quite funny, but real edge _detection_ requires a little bit more
effort.
Well, although I have very few time, I have managed to dig out some edge
detection code from my earlier investigations and implemented the worlds
very first (as far as I know) _real_ edge _detection_ image2ascii
algorithm.
It is not very easy to use and will only work well on few images.
However the results may be useful if the image contains many lines and
edges. Here is an example:
1.edge _detection_:
. .
| | , . .
. || | _,-'
` |_| , -| _| |,' :,'-
` ||`.,'\ / - |,',.'. -
/ | | \L,-| ,' / -''': _.,
., . ,' / '| ,' L ,-',- =. .-
- /: -. | /' : . ./- ,')_.-,- '--
..:' .- .\-/'\ ,- \ .' - |, _,' .-/
. -- .' '\ /)',' | |_- , /' /
.| . : / ' | '' , ,',\'_ / < ,.' .'
\ '\^, | | ,' , |/ /'/ .' '' /.-'/'
._`. - | | '/' ||/ '_/ ,' _/-'
'-.. _' . \,\ | / \` / / , ' ,-- .,,'/ _
_ . '' - |_ ,.' . .'/' ,--''---= _,-'
. -'.. ^-,`. |','/ /- ,' ,' __ _
-.. ' .\' ,'/' ,_| . _/:
= .' _,_ / . , / _-,--''''' ''':''
..--`'' -^= _)'_ / ' / __. ..,.
--= ', .,''`' --- '--...'
-.'.,' -- `-
| / '
|||
| |
|||
|\|
\ |
|| |
_ ,' . .
--':'`:-- ''..
2. Whereas edge _tracing_:
/_/
/\ | / / / ___
/ | || /| |,'_ \
/\,' _\ \|_||_| |_| \
O / _ _|_|__|_ _ |_
O / / || \ _|_|_ |_|_ `-./
/\_/ |_/ \_| |_| |_| / | / /
/ |_/ _ |_/_\
/ _ __ __ |_| | \ /
| _| \ _ |__| _ |__| |_ /|
\ |_|`.| \ | | _ _ \_|\
/\_| / |_ _ |_||_| |_|_ \
| |__/| |_ ,' | _ _ |_| __\
/__ _ / | | _|/ | |_| |__|
_| `-. |__|_|_/ / | _ _______ __/
O / _\ `. _ / / _|_||_______|_,'
/ |__/\___||_|_ | / ,' | _ |____
| |_| |_/ / ,' __|_| __\
``--..________ _ |_/ _ |__| |_
`.|_| ,--'' \_____ _ \
\ ,' `-./ \
| /
| |
\ |
||
/ |
| |
_| `-.
_,' \
/___________\
3.Four pixel per character greyscale conversion:
. .
,.. | . .`. .
. `;; `` J..r ..`.`
:, :.;....| .; :.: ...``
` :.`.o:j J c: 1.=.u:`..`
..J.. | Jo=.^t .%.r`v` ` .` `.
.:.`,. :,0``4O: x:J J'.i.,: J:.,...`
.,,3c``..:`;.| ouyJr.|`w J` ,..^.`.:``
....7,`v,`=z.|,x' \Ja:,:.vJ``.|. ..`` .`.
..=`7, `u..`:.| Jx`:.r3| |,r.`J.,`` .`
.... z. c xJo|.u!.:a| c`.3:.n:.4:..`` .`
,. `..|^,.; 9`,u2:..4k: |r 2``.J:.: .J```.`
`..`?;.c` .; :Js2: .C=`||,`.O2:.:.,` ..J^`
`....``...|..` . 0 .z: j.f`..%`.?=v.c=^J .:.
. ```::.j% ,.x .:% .`..;`..7'``^^`.;.:^`
..```. V0^%,..,J..% ,ja?' .^ ...c`
.`...`` `,.`je,`G% ,.O` ..:......a:`
..:.`.....,;. `,31 ..+ .`.`^````` ``````
````` `^?sa,`.X..! ..&...J,. .,:?.
`Uu.'.l..f: .``=|.``..``
.`.Z&2: `^^. `
`JZ!
`JD
;JD
.=X
`J4
``4.
.J4;
..:.3A...
`````````%`
4. Now manualy pasting 1. to the foreground of 3.:
. .
,.. | | ,`. .
. `|| |` J..r _,-'`
:` |_|.,.-| _| |,' .:,'-
` ||`.,'\ / c- |,',.'...-
/.J.| | J\L,-| ,'./`v-''':`_.,
.,.`.. :,'``4/: x'| ,'.L.,-',-.=...-
-,/:c-...:`|./'o:y.r./-w J,')_.-,-.'--
..:'7.-v.\-/'\,,- \J.',:.vJ-`.|, ._,' .-/
..=--, `u..':'\ /)','r3| |_-.,J./'` /`
.|.. :. / 'xJo|.''.:,| ,',\'_n/.<:.,.' .'
,\ `.'\^,.| 9`|u,'.,4k: |/ /'/..'.''./.-'/'
`._`.;.-` .| |J'/' .C=`||/`.O2'_/.,' ._/-'
'-..._'`...\,\` | / .\` /./`,.'`,--v.,,'/ .:_
_ . ''`:-.j% |_x ,.' .`.'/'.,--''---=;_,-'
..-'.. V^-,`..|','/ /-a,' ,' .__c_
.-...'` `,.`je,.\' ,'/' ,_|....._/:`
=..'`.._,_,/. `.31 ,./ _-,--''''' ''':''
..--`'' -^=sa_)'_../ './..__.. ...,.
--=.',l..,''`' .---|'--...'
.-.'.,' `--. `-
|JZ/ '
|||
|J|
|||
|\|
\`|.
||4|
_ .,'..A...
--':'`:--%`''..
Here comes another example:
1.edge _detection_:
_ '"''`'' .= _
' -' ___-' .
_ .. /-' ___ . _
- `. > \\` ,' `.
' _ -' '' :. ' ,- '.
' :'-.:_ ' \ : . _____ ``
__ ':_: ._ ._ . ' ,= -::,.... `
_/: __ ..._ -: / _,. : = . - ----=_-..
/ ,'--.|/ ... _ \ \
| ,_ -- . |'.
| `| |||
| , | |
_/ | |
\ ` | | | ||
- --' .._ ..--- | '
,..< .< . _, =\=. | |
\ --- - ` ^- ' -- . ' ' '
' `-'' ' '
-
|
'`''.,-'
_,'
\ '`--------- / ,
/ `. -,..__,-'
/ `.
/ `-. ,-|
,' `-,__ _,' '-.._
_,' `''' `-.._
,,' ``-..___
,-' `--._
,,-'
,-'
,-'
,'
,'
2.edge _tracing_:
____________
,-':::___:::___\ _
,'::::,' |:| /:\__
,--':::::| ___|:_\ `.::`.
/:::::::::/ /::::|_ O `.::\
/::::::::,' |::::::\ \::`.
|:::::::/ /::::::|___ _|:::\
,':::::::|_____|_::::::::`.__ /:::::|_
/:::::::::::::__/ `-._________\ \::::::\
/_::::::::::,-' \::::::\
| |:::::::,' `.:::::\
\ |::::::| |::::|
|:::::::\ /:__::/
|:::::::| |/ ||
/:::::::::`-.____ \ \/
|:::::::::::::::`. _______
|:::::::::::::_:::\ /:_:::::\
\::::::___:::/ `-./ \/ `-.__/
\::::/ \_/
`-.|
|\ _
|:`. /:\
\:::`-. |::`._
|:::::`. \_____\
|:::::::\_________
/::::::::::::::::::\
/::::::::::::::::,-'
/:::::::::::::__,' _/
,':::::::::::::|____,,--'':|__
,'::::::::::::::::::::::::::::::`-.__
,--':::::::::::::::::::::::::::::::::::::`-.____
,-'::::::::::::::::::::::::::::::::::::::::::::::::`-.____
,-'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\
,-':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
,-'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
,':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
``--..____________________________________________________________,,--''
3. The same image with 4 pixel per character greyscale conversion:
...
..caczv?70?vccxo.
.``=xxzz=:`.|v:.```?==..
......:zOnx````.4oZ:`....::,..
.`::`cu4nxzc:`.&.sa+:...````.zvvs.
`.,.,;=zOVv:`.JSSZQQxc``` ```?===.
`,;=u,?vxa:``..4OxdXQc`` ......azoz:
.,`:cx4QQs,``...:=JQSno...c```..a:aozv,
....,.:czxuxOvvoxwZz:JOXZZX#Zxnoa.`?vOZZxx:..
.rJzZX#M#QQZOc::```````````::`...`Jz=:aZQo``
:`Jz4ZXS6v=:```` `:=?4QSSk;`.
:.:?4XQOz:``....` `z0dXX|.
``.z4QXOc:,````.``` Jxv=xO|`
..azwZwv==:,.`..``` `Jx: zz:
:?OX#Ozcz:,`.`.` .J:.`J:;
``JZXv==:::==::a.... ....,```....` `.`
,Qs4X=couugggQggmmn...`..uggBmQQga.`` .``
7#Z=:::?9MB3T!`?0vv`` `:%`9V:JF'``` `
` :Xc`,````7V=:``````` ```:` `
?|``...` .`..
`.:,..` ....` `
.`z:,..` ..=:`` .`
`zvo:......uaaa..... . ..`
`=z4xo....`J9MMHP"^ ....``
;z4ZO=O:,,.````` ..`````
.p?4ZQo`3@MMMMMQg@VV: ...`
.MMmeQQQx::3##Qaaaa2: `
.MMMMMMmQnxz::?77^^`` .,
..qMMMMMMMMmQs:,.` .JMl
..aMMMMMMMMMMMMMmQa......aMMMBma..
.JgMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMBBma..
.aMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMma....
.JMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMma,
..gMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
..gMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
..MMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
.MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
JMMMMMMMMMMMMMMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMBMMMMMMMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMBMMMMBMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMBMMMBMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMBMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMBMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMBMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
4. Now manualy pasting 1. to the foreground of 3.:
...
..cac'"''`''cc=o.
.`'=xxzz=:`.|-:.iii-'=..
_......:zOnx````.4/-:`....::,..
.`-:``.4>xzc:`\\:s,':...````.zvv`.
`.,.,;=_O-':`.JS''QQ:c``` '``,=='.
`,;'u;'-.::``..'Ox\X:c`` ......__o`:
_.,`:':_:Q.,``...:=J'Sno..,=`-::,.:.oz`,
_/:..,.:c..._O-:o/wZz:JO_,.X:Zx=o..-?----=_-..
./JzZ,'--.|/Oc::```````````::`...`Jz=:_ZQ\`\
|`J,_ZXS6v=:```` `-=?4.SSk|'.
|.:?4XQOz:``....` `z`|X|||
|`.z4,XOc:,````.``` Jxv=|O|`
..azw_/v==:,.`..``` `Jx: |z|
\?`X#Ozcz:,`.`.` .|:|`|:||
``J-Xv==::-='::..... ....,---..|.' `.`
,Qs4X=couu,..<g.<m....`..u_,B=\=.a.|` |``
7\Z=:::---B3T-``0^-`` `:%`--:.F'`'` '
` :Xc`,````'V`-''````` '``:` `
-|``...` .`..
`.:,..` ....` `
.`z:,..` ..=:`` .`
`zvo:......|aaa..... . ..`
`=z4xo....`J`MM.8-' ....``
;z4ZO=O:,,.````` .,'````
.\?4ZQo`'`---------V/ ..,`
./M`.QQQx::3-,..__,-: `
./MMMMM.Qnxz::?77^^`` .,
../MMMMMMMM-.s:,.` .,-|
..,MMMMMMMMMMMMM-,_......,MMM'-...
._,MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMB`-...
.,MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-.....
.,-MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM--.,
.,,-MMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
.,-MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
.,-MMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
,MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
,MMMMMMMMMMMMMMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMBMMMMMMMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMBMMMMBMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMBMMMBMMMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMBMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMBMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMBMMMMMMMMBMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Well, maybe the results can be further improved. But I have one problem
with all this: There are now so many image2ascii algorithms and options
- it is hard to pick the right one for a certain image. I guess I will
have to compile a document with example images and sample results with
various settings...
However it will still take a few weeks until you all will be able to
test the new features in the next release of JavE. I am very busy moving
to a different flat and there also is my master thesis...
Markus
--
\-/ http://www.jave.de O_< Get JavE now! \-/
J|a|v|E /| J|a|v|E
/-\ Ascii-Art for eyeryone / \ - for free! /-\
Related ASCII art in the Gallery
Explore these categories from our collection of 11,000+ artworks:
_______ |.-----.| || jgs || ||_ _|| `--)-(--` __[=== o]___ |:::::::::::|\ `-=========-`()
,sSSs ,SSSS_/ ,_ sS/`))\// sS//|_(_/ _, SS\\\ `""-.-'` / sSS` jgs-==-'`'-._\
___________ | _______ | | | | | | | | | | | | | | |_______| | |___________|
//O\\
|\/\/\/| | | | | | (o)(o) C _) | ,___| | / /____\
|HHHHH/"\"\HHHHHHH| |HH`\|_.-)'|/'dP,H| |Hb.`\\_/_//'.oddH| |HHHb|`.\/\,'|HHHH| |HHHHHb/\/\/|HHHHH| |"""""""""""""""""| | |"" /\ \ / |"" | | |__/--\ \/ __| |
Make your own ASCII art
Turn images, text or 3D into ASCII, or draw your own – right in your browser.
About this thread.
These messages were posted publicly to the newsgroup
alt.ascii-art
in 2002 and are mirrored here unchanged as part of the Historic Archives – only email addresses are masked.
The artwork and text belong to their original authors: if you copy a piece, keep the artist's initials or signature intact and credit them where you can.
Are you one of the authors? Contact us to get your posts attributed, connected to your artist profile, or removed.
Report this message
Help us keep the archive clean and accurate. Reports are reviewed by a person – nothing is changed automatically.