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.
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;