magick: Koordinate eines Farbbereichs im Bild

Hallo,

Gerne würde ich die Koordinaten des ersten vorkommenden Pixels mit der Farbe #1f4d1f im Bild test.jpg herausbekommen.
Von ImageMagick gibt es z.B. convert test.jpg txt: | grep #1f4d1f
Aber dieser Vorgang dauert um ein Vielfaches zu lang :-(
Daher wüsste ich gern, ob Ihr eine bessere/schnellere Methode kennt.?

Danke

  1. Du könntest mit libgd eine entsprechende Suche starten, was den Vorteil hat, dass Du nicht erst eine speicheraufwendige Konvertierung starten musst.

    Allerdings setzt das ein wenig C-Code voraus (oder PHP oder Lua, je nachdem, welche Sprache Dir eher zusagt - obgleich C natürlich um einiges schneller ist).

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
  2. javascript hat keine graphikfunktionalitäten, unter umständen würde das mit der gd.lib noch gehen, aber eben auf serverseite.

    --
    for your security, this text has been encrypted by ROT13 twice.
  3. Von ImageMagick gibt es z.B. convert test.jpg txt: | grep #1f4d1f
    Aber dieser Vorgang dauert um ein Vielfaches zu lang :-(
    Daher wüsste ich gern, ob Ihr eine bessere/schnellere Methode kennt.?

    Nach meiner Erfahrung sind die Module von IM die schnellsten. Dein Problem dürfte sein, dass jpg ein komprimiertes Format ist, d.h. um festzustellen, welcher Pixel welche Farbe hat, muss das Bild vermutlich immer erst dekomprimiert werden, was halt je nach Größe des Bildes seine zeit dauert.

    Struppi.

    1. Nach meiner Erfahrung sind die Module von IM die schnellsten.

      Der Fork GraphicsMagick ist noch schneller. In diesem Fall dürfte man aber trotzdem mit libgd schneller ans Ziel kommen, besonders, wenn man in C entwickelt.

      Gruß, LX

      --
      X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: Unusual
      X-Please-Search-Archive-First: Absolutely Yes
      1. » Nach meiner Erfahrung sind die Module von IM die schnellsten.
        Der Fork GraphicsMagick ist noch schneller. In diesem Fall dürfte man aber trotzdem mit libgd schneller ans Ziel kommen, besonders, wenn man in C entwickelt.

        Oh, kenn ich nicht, muss ich mir mal anschauen.

        libgd hat aber nichts mit dem GD Modul zu tun, oder?
        Weil damit hatte ich erhebliche Performance Probleme. Was aber auch daran liegen kann, dass ich die IM Module, als Konsolenprogramme aufrufen konnte und GD als Moidul in mein (Perl)skript eingebinden muss.

        Struppi.

        1. Hi, Struppi!

          Die Performanceprobleme liegen idR. an den entsprechenden Bindings. Mit C/libgd und lua/lua-gd habe ich sehr gute Erfahrungen gesammelt.

          Gruß, LX

          --
          X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: Unusual
          X-Please-Search-Archive-First: Absolutely Yes