kamera daten



  • also ich hab die rohdaten der kamera
    mit

    ...
        OpenClipboard(Cam);
        EmptyClipboard();
        capGrabFrame(Cam); 
        capEditCopy(Cam);  
        CloseClipboard();
    ...
    
        OpenClipboard(Cam);
        if(IsClipboardFormatAvailable(CF_BITMAP))
        {
     	   int width,height;
    	   char Text[100];
    
    	   Frame = (HBITMAP)GetClipboardData(CF_BITMAP); 
    	   CBitmap * p_bitmap;
    	   p_bitmap=CBitmap::FromHandle(Frame);
               if(p_bitmap==NULL)ErrorMsg("FEHLER BEIM BILD ABHOLEN");
               SelectObject(Copy,p_bitmap);
    
    	   BITMAP BMI; 
    	   p_bitmap->GetBitmap(&BMI);
    	   width = breite; 
    	   height = hoehe;
    
    	   RGBMap= (unsigned char*)malloc(width*height*3);
      	   p_bitmap->GetBitmapBits(width*height*3,RGBMap);
       }
    

    abgeholt

    dann convertier ich es in ein 2d array aber ab da stimmt dann nichts mehr
    könnt das an der einstellung vom deskotp liegen 32bit??



  • kamera schrieb:

    ab da stimmt dann nichts mehr

    gewöhn dir bitte genauere fehlerbeschreibungen an

    hat nix mit deinem desktop zu tun

    in der bitmap struktur stehen alle infos zum bitmap drin
    du kannst nich davon ausgehn, dass es 3 bytes per pixel sind

    typedef struct tagBITMAP {
      LONG   bmType; 
      LONG   bmWidth; 
      LONG   bmHeight; 
      LONG   bmWidthBytes; 
      WORD   bmPlanes; 
      WORD   bmBitsPixel; 
      LPVOID bmBits; 
    } BITMAP, *PBITMAP;
    

    benutz die infos für dein malloc



  • du meinst

    RGBMap= (BITMAP)malloc(width*height);
    

    oder???

    aber wie soll ich dann damit an die pixel kommen??

    steht des in bmBitsPixel??



  • da gibts ne dolle doku von microsoft die nennt sich msdn

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_2h6a.asp

    bmBits
    Pointer to the location of the bit values for the bitmap. The bmBits member must be a long pointer to an array of character (1-byte) values.

    bzw. nochma deutlich
    BMI.bmBits ist ein zeiger auf die bilddaten

    und das mit der genauen fehlerbeschreibung war ernst gemeint
    kannst dir villeicht vorstellen wieviele variationen des nicht stimmens es beim programmieren gibt


Anmelden zum Antworten