IplImage Bilder umwandeln

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • IplImage Bilder umwandeln

    Hallo ich wollte mal ein Programm erzeugen der die Elemente eines Bildes (die in einem Array gespeichert werden in sogenannte IplImage Objekte) einliest und bearbeitet.
    Das problem ist, dass ich eine verallgemeinterte Funktion unabhängig vom Typs erzeugen will und dabei auch nicht so viel Quellcode erzeugen will.
    Die Bilddaten können abhängig vom gespeicherten Formats anders zugegriffen werden, zum Beispiel für 8 bit Grauwertbilder :

    ((uchar*)(src->imageData + src->widthStep*i))[j] ;

    dabei sind i die Zeilen und j die Spalten.
    Für 64 bit gleitkomma grauwertbilder sieht dann beispielsweise so aus:

    ((float*)(src->imageData + src->widthStep*i))[j] ;

    src ist dabei ein IplImage Objekt. Im Objekt wird angegeben was für ein Speicherformat verwendet würde (z.B. steht #define IPL_DEPTH_8U 8 für eine 8 bit Pixeltiefe). Um eine eigene Funktion zu entwerfen könnte man eine switch case Anweisung benutzen um die Pixeltiefe zu abfragen um damit eine geeignete "pointer umwandlung" (Typ*) zu erzeugen.
    Wenn mir jemand hier einige Tipps geben könnte wie ich das am besten machen könnte wäre ich dafür sehr dankbar
    Bin ein N00ß