C++ OpenCV - nach absdiff() mit Farbbild nur schwarzes Bild als Ergebnis

Fonce

Captain
Registriert
Feb. 2006
Beiträge
3.455
Hi,
ich habe ein Problem mit OpenCV und zwar bekomme ich nur ein schwarzes Bild wenn ich absdiff() auf zwei Farbbilder anwende. mit zwei Graubildern habe ich hier keine Probleme.

Code:
if(capture.isOpened())
  {
    capture >> frame_cur; //Bild vom Stream in Mat schreiben.

    Mat frame_absDiff; 

    GaussianBlur(frame_cur,frame_cur,Size(3,3),0,0); 
    //Ausführen beim zweiten Timeraufruf, damit Vorheriges Bild vorhanden, welches für   absdiff() benötigt wird.
    if(!firstRun) 
    {
      absdiff(frame_prev,frame_cur,frame_absDiff);

      cvtColor(frame_absDiff,frame_absDiff,CV_BGR2RGB);

      //Umwandeln von Mat in ein QImage
      QImage img((const uchar*)frame_absDiff.data,
                 frame_absDiff.cols,
                 frame_absDiff.rows,
                 QImage::Format_RGB888);

      //pixmap anlegen und ausgeben
      QPixmap pixmap = QPixmap::fromImage(img);
      ui->frameLabel->setPixmap(pixmap);
    }
    else
      firstRun=false;

    frame_prev=frame_cur;
 
Zurück
Oben