Bonjour à tous,

Je travaille sur un projet d'acquisition vidéo avec une carte EURESYS de la série Picolo.
Je développe sous l'environnement Qt Creator (basé sur Qt 4.8.3) avec le compilateur MS VC++ 10 et j'utilise la bibliothèque eVision 6.7.1.

Pour ce qui est de la configuration de la carte et de l'acquisition des images, il n'y a pas de problèmes. Avec OpenCV j'arrive à convertir l'EImage en Mat et à l'afficher dans une fenêtre secondaire.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void MainWindow::ProcessingCallback(Channel &Ch, SignalInfo &Info)
{
    try
    {
        // Mise à jour de l'EImage à partir des données acquises
        UpdateImageConfig(*Info.Surf, EImgSrc);
 
        // Conversion de l'EImage en Mat
        Mat cvImg(EImgSrc.GetHeight(), EImgSrc.GetWidth(), CV_8UC3, EImgSrc.GetGenericImagePtr());
 
        // Affichage de l'image
        imshow( "Display window", cvImg );                   
    }
    catch (Euresys::MultiCam::Exception &e)
    {
        // Gestion des exceptions...
    }
 
}
Par contre avec Qt c'est une autre histoire.

De la même manière j'ai utilisé le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void MainWindow::ProcessingCallback(Channel &Ch, SignalInfo &Info)
{
    try
    {
        // Mise à jour de l'EImage à partir des données acquises
        UpdateImageConfig(*Info.Surf, EImgSrc);
 
        // Conversion de l'EImage en QImage
        QImage imaq((const uchar*)EImgSrc.GetGenericImagePtr(), EImgSrc.GetWidth(), EImgSrc.GetHeight(), EImgSrc.GetBitsPerRow(), QImage::Format_RGB888);
 
        // Affichage de l'image
        QPainter painter(this);
        painter.drawImage(QPoint(0, 0), imaq);
    }
    catch (Euresys::MultiCam::Exception &e)
    {
        // Gestion des exceptions...
    }
}
Mais dans ce cas pas d'affichage de l'image et la sortie d'application m'indique en boucle le message suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
QPainter::begin: Paint device returned engine == 0, type: 1
Pourriez-vous me donner quelques conseils?

D'avance merci!