Ascii Artist

An ascii art generator that's actually good. Does edge detection and selects the most appropriate characters.

                                         ___.=-------9-e===,.L___                        
                                  _.>z*```     [   7`(   '`     `"^r~~__                 
                                ~*20{%/_/     x)   /(          7L  . `{*^<_              
                              _z%7`~``_^_y  ^ `/  7 '   _n   _ '`  n`  \\ )\.            
                            ,,,{^  f//|2_( /)x_  _`_\z= M._  {\  }L.t__  \ L[^_          
                          _<//\` `)@'"/ / PKL . _` / _/\ _%V'] L  '\(|V h \^~(_\         
                          `)/v7 _'[,_` / /  " _ U _ v   o/   ) \ [  /@U  N . (M(@,       
                       _ _y`//_k(y_/U-((_`  L y \-/ [ .~   > __V/ _  v   \ \__\[`X(      
                      _/_(   >`             "/      [<`   ``   `\ `   _   >~  \{`/M\     
                      `y`                                             `v     L L\[\_\    
                    _(                                                       \`  [ \(,   
                    V                                                        *     ?     
                    |`>,,=~^~,{`,,__, ,,-`>.Y_  _  _, _vy         _                  My  
                    \/Y.[>;(./ ```j` [/ `j` `*\@``*j7`\_O)*`{ e==~^} --L              \  
                     `[_M\, . *L   `_\`         ``                  \_ '*~H.,->        U 
                     _  ````\"')(o_ y(_.               _   _          `````7;^\L,,=    U 
                    _/`          ``%\~(F               |\z_[_         .o,._]` }-_<``\_   
                   _/              V`     .~          _"-%) `        , O~\_]_\)'f?`*{`   
                  _(                      `            \`            `\.    `'           
                  /(                                                                     
                  U                      (K_                         D                   
                  `                      [` ``                   U^L(                    
                   (                    7\\              ,/                              
                   \\                   \    -, __      __\?                             
                    \L                   `/   )v<_     ([`       V                       
                     `(                    - `  '`             _                         
                       (                    `,_.      (        _                         
                       ]                 /  /(S_      _`      /                          
                       /                      `V      `\     `'_                         
                      y`                / /     _       \                                
                     _`          _/  _.* _`  _.  ^ _     `_    ]                         
                    _/           }[  ` _ }  _O      /    ``;   ]      .                  
                    /            _[  , M                  ^'U  }   \_\                   
                   _(             [``\ U               Y       |                         
                   /              [    {         /   ,/ _U     {                         
                  _(              ML   U        _` \ |  `-             _                 
                 _(                \   ]       _/  `j`__.`           _ |                 
                 O(     _           \  \       _ _    ]                `                 
                 J       (          \  [ _,s._,)``=v  ]                                  
                 "       `\          M [ (  [``__``   \               (_                 
                 [         \( _/     OL]  \_    `u6   _L        ,    v w                 
                 'O         `"`       (]   f      .  n_          (   (                   
                  ^,                  J/    `~_/V `    ,         "                       
                   "k          ,       (    _fpxU     L`     U    _*                     
                  _  "kLL_yHy`MOO          yKj\ **j`  U `.   /                           
                 _)`'=6f:f7(` `  '\co   V y`  /   /   ][           `                     
                ./[q`   _ `*\ _      L  | [_  `/     \\   \_/   _ `                      
              ,{){    _``>~,_``     n\  ]  `\  O    _v     _  \@(                        
              VC,_QjcS,[_n.-) k=>^> \     \ _V__   ,7)     _  {\                         
               ```\_),[?(@)= [O7` __Nk^r6`\;&__<`   )/     }  [_                         
                    `*``  ````)>, `'  `     /^"[~_ \_`     \K<`"                         
                             _(               H[_`` V        [_ L                        
                        ,*'n}``L               \(. _`        ./_`,                       
                       y~               __,L-L_ {*_`     \~  k)/ \                       
                     L_j`          _,~``  ^`  >(\\(    ~  [J/ 7`                         
                     [````   _7_v'?       _  /  \ `     `_( _^ /                         
                    _V__    z>`   (      _/    _`  `~_ Or`_/\~.`     _                   
                   0{--    /7    /    7F` \   M(      (`^`_<`_/  __/ `                   
                   .Ho)         _( ___[   |  ,M`    `y^67'` _y   _`                      
                   }      [[    y  _V     /_y(/K_   (/``   ,/  , `                       
                   )V     _[   /_.-``    ,O/`/   )/^*`     /``                           
                    Px_  L (L_(_(`    >-^`  /7)<J`        ``                             
                      ``'/@)}` // _,~(  _ ,__/`                                          
                         .wy[/_ /kkK___z{/k`                                             
                       _zN  <dj`G`J~-C<'2^            _/                                 
                      .`x\   ``  _,/``_/      _      _(                                  
             _ _vo.,_>(       ,~`    _(   _,>^`     y`                                   
         _ ,{y_{}H)\L  _ \ .~Lf     _(  ,z`       _7`                                    
         )}{_    ``~(\<L_ /         M )^`        _(                                      
         ``/@<_      `_ [           \/`         y`                                       
       (~yO%}{`(:<' .^` \V          .          y`                                        
        D[{/    `- (   __(          "                                                    
       _\/`           _(y/           !                                                   
      _/7             /[`                                                                
      ?/              M/                                                                 
     (,   /          _)(                                                                 
     _`  /           VL\                                                                 
   _`(   (                                                                               
  z\`   M                                                                                
  Vh    [                                                                                
 ]t__   {                                                                                
 `*fP7j:*~=,~_                                                                           
        )`  `/                                                                           
         \ //                                                                            
          {{L                                                                            
          'U\                                                                            
            K~_                                                                          
           _  `*\                                                                        
           [                                                                             
           ]                                                                             
           (                                                                             
          _`