The answer for this, like many other questions, is "it depends". Humans don't do it like this at all -- we try to recognize the subject first, then find it's edges. (I suspect.) It's difficult to define what the subject /is/ in many photographs. The best way to find a method is probably to load up your stuff into an image editor, try it's various edge-detecting methods, and decide which one does the best job. Then either find a method to simply use the graphics program in question (Hint: Gimp), or do some research and find out what method the graphics program used, and how to program it in perl (Hint: PDL).

The problem is really /much/ harder then you think, though. Look at The Kiss (Safe For Work, unless you have a very strict work), for example. It's even already monochrome. The hardest border, though, is between the girls' hair and the bed. Does that mean their hair is the subject of the photograph? No, in order to find the subject, you need to follow the borders of both girls -- even where there isn't much contrast, such as between the white shirts (esp on the girl on the right) and panties and the white bed.

Update: better link.


Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).


In reply to Re: the difference between two colors, and how to describe a color by theorbtwo
in thread the difference between two colors, and how to describe a color by pg

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.