Partage
  • Partager sur Facebook
  • Partager sur Twitter

opencv

    14 avril 2018 à 19:42:50

    svp j'ai besoin d'un coup de main je suis debutant en opencv j'ai suivi les instructions pour l'installation mais malhereusement j'arrive pas à m'en sortir

    voici mon progrmme :

    #include "opencv2/core.hpp"

    #include "opencv2/imgproc.hpp"

    #include "opencv2/highgui.hpp"

    #include <stdio.h>

    using namespace cv;

    static void help()

    {

        printf("\nThis program demonstrates OpenCV drawing and text output functions.\n"

        "Usage:\n"

        "   ./drawing\n");

    }

    static Scalar randomColor(RNG& rng)

    {

        int icolor = (unsigned)rng;

        return Scalar(icolor&255, (icolor>>8)&255, (icolor>>16)&255);

    }

    int main()

    {

        help();

        char wndname[] = "Drawing Demo";

        const int NUMBER = 100;

        const int DELAY = 5;

        int lineType = LINE_AA; // change it to LINE_8 to see non-antialiased graphics

        int i, width = 1000, height = 700;

        int x1 = -width/2, x2 = width*3/2, y1 = -height/2, y2 = height*3/2;

        RNG rng(0xFFFFFFFF);

        Mat image = Mat::zeros(height, width, CV_8UC3);

        imshow(wndname, image);

        waitKey(DELAY);

        for (i = 0; i < NUMBER * 2; i++)

        {

            Point pt1, pt2;

            pt1.x = rng.uniform(x1, x2);

            pt1.y = rng.uniform(y1, y2);

            pt2.x = rng.uniform(x1, x2);

            pt2.y = rng.uniform(y1, y2);

            int arrowed = rng.uniform(0, 6);

            if( arrowed < 3 )

                line( image, pt1, pt2, randomColor(rng), rng.uniform(1,10), lineType );

            else

                arrowedLine(image, pt1, pt2, randomColor(rng), rng.uniform(1, 10), lineType);

            imshow(wndname, image);

            if(waitKey(DELAY) >= 0)

                return 0;

        }

        for (i = 0; i < NUMBER * 2; i++)

        {

            Point pt1, pt2;

            pt1.x = rng.uniform(x1, x2);

            pt1.y = rng.uniform(y1, y2);

            pt2.x = rng.uniform(x1, x2);

            pt2.y = rng.uniform(y1, y2);

            int thickness = rng.uniform(-3, 10);

            int marker = rng.uniform(0, 10);

            int marker_size = rng.uniform(30, 80);

            if (marker > 5)

                rectangle(image, pt1, pt2, randomColor(rng), MAX(thickness, -1), lineType);

            else

                drawMarker(image, pt1, randomColor(rng), marker, marker_size );

            imshow(wndname, image);

            if(waitKey(DELAY) >= 0)

                return 0;

        }

        for (i = 0; i < NUMBER; i++)

        {

            Point center;

            center.x = rng.uniform(x1, x2);

            center.y = rng.uniform(y1, y2);

            Size axes;

            axes.width = rng.uniform(0, 200);

            axes.height = rng.uniform(0, 200);

            double angle = rng.uniform(0, 180);

            ellipse( image, center, axes, angle, angle - 100, angle + 200,

                     randomColor(rng), rng.uniform(-1,9), lineType );

            imshow(wndname, image);

            if(waitKey(DELAY) >= 0)

                return 0;

        }

        for (i = 0; i< NUMBER; i++)

        {

            Point pt[2][3];

            pt[0][0].x = rng.uniform(x1, x2);

            pt[0][0].y = rng.uniform(y1, y2);

            pt[0][1].x = rng.uniform(x1, x2);

            pt[0][1].y = rng.uniform(y1, y2);

            pt[0][2].x = rng.uniform(x1, x2);

            pt[0][2].y = rng.uniform(y1, y2);

            pt[1][0].x = rng.uniform(x1, x2);

            pt[1][0].y = rng.uniform(y1, y2);

            pt[1][1].x = rng.uniform(x1, x2);

            pt[1][1].y = rng.uniform(y1, y2);

            pt[1][2].x = rng.uniform(x1, x2);

            pt[1][2].y = rng.uniform(y1, y2);

            const Point* ppt[2] = {pt[0], pt[1]};

            int npt[] = {3, 3};

            polylines(image, ppt, npt, 2, true, randomColor(rng), rng.uniform(1,10), lineType);

            imshow(wndname, image);

            if(waitKey(DELAY) >= 0)

                return 0;

        }

        for (i = 0; i< NUMBER; i++)

        {

            Point pt[2][3];

            pt[0][0].x = rng.uniform(x1, x2);

            pt[0][0].y = rng.uniform(y1, y2);

            pt[0][1].x = rng.uniform(x1, x2);

            pt[0][1].y = rng.uniform(y1, y2);

            pt[0][2].x = rng.uniform(x1, x2);

            pt[0][2].y = rng.uniform(y1, y2);

            pt[1][0].x = rng.uniform(x1, x2);

            pt[1][0].y = rng.uniform(y1, y2);

            pt[1][1].x = rng.uniform(x1, x2);

            pt[1][1].y = rng.uniform(y1, y2);

            pt[1][2].x = rng.uniform(x1, x2);

            pt[1][2].y = rng.uniform(y1, y2);

            const Point* ppt[2] = {pt[0], pt[1]};

            int npt[] = {3, 3};

            fillPoly(image, ppt, npt, 2, randomColor(rng), lineType);

            imshow(wndname, image);

            if(waitKey(DELAY) >= 0)

                return 0;

        }

        for (i = 0; i < NUMBER; i++)

        {

            Point center;

            center.x = rng.uniform(x1, x2);

            center.y = rng.uniform(y1, y2);

            circle(image, center, rng.uniform(0, 300), randomColor(rng),

                   rng.uniform(-1, 9), lineType);

            imshow(wndname, image);

            if(waitKey(DELAY) >= 0)

                return 0;

        }

        for (i = 1; i < NUMBER; i++)

        {

            Point org;

            org.x = rng.uniform(x1, x2);

            org.y = rng.uniform(y1, y2);

            putText(image, "Testing text rendering", org, rng.uniform(0,8),

                    rng.uniform(0,100)*0.05+0.1, randomColor(rng), rng.uniform(1, 10), lineType);

            imshow(wndname, image);

            if(waitKey(DELAY) >= 0)

                return 0;

        }

        Size textsize = getTextSize("OpenCV forever!", FONT_HERSHEY_COMPLEX, 3, 5, 0);

        Point org((width - textsize.width)/2, (height - textsize.height)/2);

        Mat image2;

        for( i = 0; i < 255; i += 2 )

        {

            image2 = image - Scalar::all(i);

            putText(image2, "OpenCV forever!", org, FONT_HERSHEY_COMPLEX, 3,

                    Scalar(i, i, 255), 5, lineType);

            imshow(wndname, image2);

            if(waitKey(DELAY) >= 0)

                return 0;

        }

        waitKey();

        return 0;

    }

    l'erreur est celle ci: LINK : fatal error LNK1104: cannot open file 'opencv_world340d.lib'

    • Partager sur Facebook
    • Partager sur Twitter
      15 avril 2018 à 11:29:59

      Bonjour,

      Mauvais forum

      Le sujet est déplacé dans le forum approprié : Langage C++

      Merci d'utiliser les balises de code

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour celà, il faut utiliser le bouton Image . Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: c;">Votre code ici</pre>.

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        16 avril 2018 à 22:48:29

        C'est une erreur de linkage entre ton projet et la bibliothèque openCV.

        Vérifie que ton IDE va chercher dans le bon dossier.

        Faut aussi faire gaffe, openCV peut utiliser 2 version, une release (opencv_worldxxx) et une debug (opencv_worldxxxd). Faut linker la bonne selon ton mode de compilation.

        Et enfin, vérifie que tu utilise bien la lib adaptée à ton système et à ton compilo (gcc , MSVC, Clang, x32 ou x64...)

        • Partager sur Facebook
        • Partager sur Twitter

        opencv

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown