Announcement

Collapse
No announcement yet.

Schwärzungsgrad in einer Bitmap ermitteln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Schwärzungsgrad in einer Bitmap ermitteln

    Hallo,

    wie kann ich für einen definierten Bereich in einer Bitmap oder Tif-Datei
    den Schwärzungsgrad ermitteln. Es handelt sich dabei um mit 150 Dpi und
    Schwarzweiß eingescannte Dokumente. Für den definierten Bereich sollte eine Angabe in Millimeter möglich sein. Hintergrund: Es soll auf einem
    Dokument festgestellt werden, ob in einem bestimmten Bereich irgendetwas
    steht oder ob dieser Bereich weiss ist.

    MfG Michael M.

  • #2
    Hallo Michael,

    am einfachsten ist es, den Mittelwert der Bildpunkte zu berechnen.
    Dazu addierst du einfach die Grauwerte der Pixel im Bereich, bzw. nur den Rot-Wert (oder Grün oder Blau). Dann teilst du den erhaltenen Wert (int64 ?) durch die Anzahl der Pixel -> fertig.
    Der erhaltene Wert dürfte zwischen 0 und 255 liegen. Jetzt mußt du nur definieren, was für dich weiss ist (>200?).
    <p>
    Source: <br>
    function weiss (x1,y1,x2,y2:integer):boolean;<br>
    var x,y:integer;<br>
    g:int64;<br>
    Mittelwert:byte;<br>
    begin<br>
    g:=0;<br>
    for x:= x1 to x2 do<br>
    for y:= y1 to y2 do<br>
    inc(g,bitmap.canvas.pixels[x,y]);<br>
    // Achtung, nur bei 8-Bit Bild<br>
    Mittelwert:=g div ((x2-x1)*(y2-y1));<br>
    result:=Mittelwert>Schwelle; // Schwelle auf 200 setzen?<br>
    end;<br>

    Einfach mal testen, Fehler sind leider nicht ausgeschlossen..<br>

    Für weitere Hilfe (bessere aber schwerere Methoden), mail mir einfach:
    <br>
    [email protected]

    Comment

    Working...
    X