Erstaml zum ersten. Also da QT ja RGB24 nicht unterstützt wollte ich das ganze Pixelweise auslesen und in eine QImage Variable wieder hineinspeichern. Dazu habe ich folgende funktion geschrieben:
Code: Alles auswählen
void draw_picture(char* source, int breite, int hoehe, QImage& target){
QRgb pixel;
for(int x=0;x<breite;x++){
for(int y=0;y<hoehe;y++){
pixel=qRgb(source[0],source[1],source[2]);
target.setPixel(x,y,pixel);
source+=3;
}
}
}Code: Alles auswählen
QImage img(320,240,QImage::Format_RGB32);
char* picture;
picture = (char*)cam->grab_picture();//gibt bild von der WebCam zurück
draw_picture(picture,320,240,img);
label->setPixmap(QPixmap::fromImage(img));
Und dann wäre da auch noch das zweite Problem.
Die einzelnen Bilder möchte ich natürlich hintereinander abspielen.
Zu diesem Zweck verwende ich folgende Schleife im Konstruktor des Widgets das das Label mit dem Bild enthält:
Code: Alles auswählen
while(true){
picture = (char*)cam->grab_picture();
draw_picture(picture,320,240,img);
label->setPixmap(QPixmap::fromImage(img));
label->show();
}Ich hoffe irgendjemand kann mir hier noch weiterhelfen.
MfG scarfish