Pixel zugriff auf jpg Datei



  • Hallo miteinander !

    Also ich hab ein paar Fragen zur C++-Programmiernung
    Danke jetzt schon mal für Beantwortung (unter faq konnte ich nicht fundig werden)

    Ich arbeite gerade mit Freunden an einer Diplomarbeit
    ICh versuch mich gerade an der prgrammierung eines 3D scanners und muss dazu aus jpg datein alle pixel auslesen und verarbeiten

    wir verwenden vom jpg-RGB nur den blauen Farbraum aus technischen Gründe
    jemand ideen oder einen code wie man das gut realisiern kann?

    ich hab ein wenig gegoogelt bin dabei auf "imagestone" gestossen

    siehe unter code (bin leider ein lausiger vb programmierer und versteh nicht viel von C)

    #define _CRT_SECURE_NO_DEPRECATE
    
    #include <stdio.h>
    #include "../../../ImageStone.h"
    
    // our processor : change pixel's RGB value 
    class CMyPixelProcessor : public FCSinglePixelProcessBase
    {
    public:
        CMyPixelProcessor (int nR, int nG, int nB) : m_R(nR), m_G(nG), m_B(nB) {}
    private:
        virtual void ProcessPixel (FCObjImage* pImg, int x, int y, BYTE* pPixel)
        {
            PCL_B(pPixel) = FClamp0255 (PCL_B(pPixel) + m_B) ;
            PCL_G(pPixel) = FClamp0255 (PCL_G(pPixel) + m_G) ;
            PCL_R(pPixel) = FClamp0255 (PCL_R(pPixel) + m_R) ;
        }
        int   m_R, m_G, m_B ;
    };
    

    die lib und include datei sind alle eingefügt aber wie greif ich jetzt auf diese klasse zu?

    virtual void ProcessPixel (FCObjImage* pImg, int x, int y, BYTE* pPixel)
    was muss ich da für parameter einsetzen?

    lg grüße
    lukas



  • Bei deiner Klasse/Methode da kann ich dir leider auch nicht helfen.

    Aber wenn du die Pixel bzw Blau-Werte aus einer Jpg-Datei willst, solltest du erst die Datei einlesen, in eine Bitmap umwandeln, von da kannst du bequem alle Werte auslesen.
    Wenn du unter Windows arbeitest, kannst du die GDI+ für deine Zwecke nutzen, ansonsten gibt es genug freien Sourcecode, der das kann.



  • wenn du mit dem bild viel "anstellen" willst, kannst du dir mal die vigra lib angucken http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/
    wirkt auf den ersten blick vielleicht ein wenig kompliziert, dafür sind da aber schon sehr methoden enthalten, die man für bildanalyse benötigt.



  • Probiere es mal mit der CImg Library -> http://cimg.sourceforge.net/ . Die scheint für Deine Zwecke ideal zu sein 😉



  • Oder die FreeImage.



  • fragiler Tor schrieb:

    Ich arbeite gerade mit Freunden an einer Diplomarbeit

    Macht man die jetzt auch schon im Team?



  • diplomarbeiten kann man doch seit jahrzehnten im team schreiben...



  • ich hatte das irgendwie so in erinnerung, dass man damit zeigen soll, dass man selbstständig eine komplexe aufgabe lösen kann. Da gehört jetzt wohl auch schon in foren fragen usw. dazu.

    TollEinAndererMachts



  • *lach*

    ob bücher lesen oder foren fragen.. solange es keiner schreibt.. ist es das normale sammeln von wissen.
    der moderne informatiker muss, wie alle anderen richtungen auch, recherchieren können 😉

    ganz schlimm: jemand auf arbeit, der das nicht gelernt hat..



  • Naja, wenn es Fragen auf dem richtigen Niveau wären.
    Aber

    fragiler Tor schrieb:

    die lib und include datei sind alle eingefügt aber wie greif ich jetzt auf diese klasse zu?

    virtual void ProcessPixel (FCObjImage* pImg, int x, int y, BYTE* pPixel)
    was muss ich da für parameter einsetzen?

    🙄 RTFM Codemonkey



  • Die Parameter sind eh müßig, da die Funktion private und damit außerhalb seiner Zugriffsmöglichkeit ist.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • danke für die hilfreichen tips 🙂

    zu den bösen stimmen:
    ich verlange ja kein fertiges programm nur ein paar tips für funktionen
    soll ich das rad neu erfinden?
    außerdem ist dem admin bestimmt lieber er unterstützt mit seinem forum ein hoffentlich bald internationales projekt als irgendeinen kiddy virenschreiber

    dipl schrieb:

    Naja, wenn es Fragen auf dem richtigen Niveau wären.
    Aber

    fragiler Tor schrieb:

    die lib und include datei sind alle eingefügt aber wie greif ich jetzt auf diese klasse zu?

    virtual void ProcessPixel (FCObjImage* pImg, int x, int y, BYTE* pPixel)
    was muss ich da für parameter einsetzen?

    🙄 RTFM Codemonkey

    verzeih mir das ich noch nicht solang mit c hanttiere und weit unter deinem niveu arbeite...

    ein dank an winn für den CImg llink war sehr hilfreich
    gruß lukas



  • fragiler Tor schrieb:

    außerdem ist dem admin bestimmt lieber er unterstützt mit seinem forum ein hoffentlich bald internationales projekt als irgendeinen kiddy virenschreiber

    lol



  • elise schrieb:

    ganz schlimm: jemand auf arbeit, der das nicht gelernt hat..

    Hey, warum arbeitest du nicht weiter? - Ich warte, das die Leute von cpp.de antworten. 😉

    Gruß, TGGC (making great games since 1992)


Anmelden zum Antworten