Einzelne Frames
-
Wie kann ich einzelne Frames bei der Webcam abfangen das ich die pixel anschauen kann???
-
*push*
-
Schau dich mal hier ein wenig um
-
ich find da nichts um einzelne pixel zulesen
-
oder geht des nur mit GetDc und dann GetPixel???
-
Schau dir mal GetDIBits an
-
also ich hab jetzt die dc in eine bitmap reinkopiert und versuch die bitmap abzuspeichern aber ich bekomm immer ein komplett schwarzes bild und bei GetDiBits ist auch alles schwarz :(:(:(
-
Hast du dazu die Funktion aus den FAQ verwendet?
-
Ja hab ich :p
-
Zur Zeit versuch ich es so aber des funktioniert nich
bool SearchMovement(HWND Cam) { char szFile[20]; HDC memdc=GetDC(NULL); HBITMAP hbitmap; BITMAP bmp; BITMAPINFO IHdr; capGrabFrame(Cam); capEditCopy(Cam); OpenClipboard(Cam); hbitmap =(HBITMAP)::GetClipboardData(CF_BITMAP); CloseClipboard(); SelectObject(DC,hbitmap); BitBlt(memdc,0,0,500,500,DC,0,0,SRCCOPY); //GetDIBits(memdc, hbitmap, 0,300, bmp.bmBits, (BITMAPINFO*)&IHdr, DIB_RGB_COLORS); //wsprintf(szFile,"Bitmap=%d",bmp.bmBits); //MessageBox(NULL,szFile,0,0); return 1; }
aber das Bild wird nich gezeichnet
-
bool SearchMovement(HWND Cam) { OpenClipboard(Cam); EmptyClipboard(); capGrabFrame(Cam); capEditCopy(Cam); if(IsClipboardFormatAvailable(CF_BITMAP))//HIER KOMM ICH NIEMALS HIN { MessageBox(NULL,"JUHU",0,0); HBITMAP handle = (HBITMAP)GetClipboardData(CF_BITMAP); } CloseClipboard(); return 1; }
also ich muss des nur noch reinbekommen aber leider wird des if nie TRUE
-
Ok habs geschafft hab immer das falsche handle reingegeben ^^
so jetzt muss ich nur noch an die pixel rankommen das bild hab ich schon!!
kann ich das mit GetDIBits machen????
-
Einzelne Pixel kannst du mit GetPixel abfragen, wenn du aber alle verarbeiten willst, dann solltest du aus Performance-Gründen GetDIBits nehmen.