Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

asked 2016-08-03 03:59:45 -0600

Nbb gravatar image

OpenCV 3.1 viz tutorial error

Hi all,

I am following this tutorial here and am getting a lot of errors. myWindow are all being red underlined and it says expected a ;

#include <opencv2/viz/vizcore.hpp>
#include <iostream>

using namespace cv;
using namespace std;

/**
* @function main
*/
int main()
{
    /// Create a window
    viz::Viz3d myWindow("Viz Demo");

    /// Start event loop
    myWindow.spin();

    /// Event loop is over when pressed q, Q, e, E
    cout << "First event loop is over" << endl;

    /// Access window via its name
    viz::Viz3d sameWindow = viz::getWindowByName("Viz Demo");

    /// Start event loop
    sameWindow.spin();

    /// Event loop is over when pressed q, Q, e, E
    cout << "Second event loop is over" << endl;

    /// Event loop is over when pressed q, Q, e, E
    /// Start event loop once for 1 millisecond
    sameWindow.spinOnce(1, true);
    while(!sameWindow.wasStopped())
    {
        /// Interact with window

        /// Event loop for 1 millisecond
        sameWindow.spinOnce(1, true);
    }

    /// Once more event loop is stopped
    cout << "Last event loop is over" << endl;
    return 0;
}

OpenCV 3.1 viz tutorial error

Hi all,I am trying the viz tutorial here http://docs.opencv.org/2.4/doc/tutorials/viz/launching_viz/launching_viz.html#launching-viz but I am getting these errors.

I am following this tutorial here and am getting a lot of errors. myWindow are all being red underlined and it says expected a ;image description

#include <opencv2/viz/vizcore.hpp>
#include <iostream>

using namespace cv;
using namespace std;

/**
* @function main
*/
int main()
{
    /// Create a window
    viz::Viz3d myWindow("Viz Demo");

    /// Start event loop
    myWindow.spin();

    /// Event loop is over when pressed q, Q, e, E
    cout << "First event loop is over" << endl;

    /// Access window via its name
    viz::Viz3d sameWindow = viz::getWindowByName("Viz Demo");

    /// Start event loop
    sameWindow.spin();

    /// Event loop is over when pressed q, Q, e, E
    cout << "Second event loop is over" << endl;

    /// Event loop is over when pressed q, Q, e, E
    /// Start event loop once for 1 millisecond
    sameWindow.spinOnce(1, true);
    while(!sameWindow.wasStopped())
    {
        /// Interact with window

        /// Event loop for 1 millisecond
        sameWindow.spinOnce(1, true);
    }

    /// Once more event loop is stopped
    cout << "Last event loop is over" << endl;
    return 0;
}

OpenCV 3.1 viz tutorial error

I am trying the viz tutorial here http://docs.opencv.org/2.4/doc/tutorials/viz/launching_viz/launching_viz.html#launching-viz but I am getting these errors.errors. I have no errors other than that.

My viz folders are in C:\opencv\sources\modules\viz\include\opencv2

image description

OpenCV 3.1 viz tutorial error

I am trying the viz tutorial here http://docs.opencv.org/2.4/doc/tutorials/viz/launching_viz/launching_viz.html#launching-viz but I am getting these errors. I have no errors other than that.

My viz folders are in C:\opencv\sources\modules\viz\include\opencv2

Is it because I using 64 bit ? Can i use viz for 64 bit or viz only for 32 bit ?

image description

OpenCV 3.1 viz tutorial error

I am trying the viz tutorial here http://docs.opencv.org/2.4/doc/tutorials/viz/launching_viz/launching_viz.html#launching-viz but I am getting these errors. I have no errors other than that.

My viz folders are in C:\opencv\sources\modules\viz\include\opencv2

Is it because I using 64 bit ? Can i use viz for 64 bit or viz only for 32 bit ?? Someone please offer any suggestion to help me fix the error

image description

OpenCV 3.1 viz tutorial error

I am trying the So decided to include every viz tutorial here http://docs.opencv.org/2.4/doc/tutorials/viz/launching_viz/launching_viz.html#launching-viz but hpp file and I am getting these errors. I have no errors other than that.

My viz folders are in C:\opencv\sources\modules\viz\include\opencv2

Is it because I using 64 bit ? Can i use viz for 64 bit or viz only for 32 bit ? Someone please offer any suggestion to help me fix the a different error

4   IntelliSense: vtkSmartPointer is not a template c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   76  20  Viz
6   IntelliSense: vtkSmartPointer is not a template c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   81  49  Viz
5   IntelliSense: identifier "vtkProp" is undefined c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   76  36  Viz
2   IntelliSense: cannot open source file "vtkSmartPointer.h"   c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   50  1   Viz
3   IntelliSense: cannot open source file "vtkProp.h"   c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   51  1   Viz
Error   1   error C1083: Cannot open include file: 'vtkSmartPointer.h': No such file or directory   C:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   50  1   Viz

image descriptionSo I googled up vtkSmartPointer.h and it turns out I need to install this thing called vtk (virtual toolkit). Holy shit can't I strictly use OpenCV to perform computer vision jobs ?

#include <opencv2/viz/vizcore.hpp>
#include <opencv2/viz/widgets.hpp>

#include <opencv2/viz/types.hpp>
#include <opencv2/viz/viz3d.hpp>
#include <opencv2/viz/widget_accessor.hpp>

#include <opencv2/calib3d/calib3d.hpp>
#include <iostream>

using namespace cv;
using namespace std;

/**
* @function main
*/
int main()
{
    /// Create a window
    viz::Viz3d myWindow("Coordinate Frame");

    /// Add coordinate axes
    myWindow.showWidget("Coordinate Widget", viz::WCoordinateSystem());

    /// Add line to represent (1,1,1) axis
    viz::WLine axis(Point3f(-1.0f, -1.0f, -1.0f), Point3f(1.0f, 1.0f, 1.0f));
    axis.setRenderingProperty(viz::LINE_WIDTH, 4.0);
    myWindow.showWidget("Line Widget", axis);

    /// Construct a cube widget
    viz::WCube cube_widget(Point3f(0.5, 0.5, 0.0), Point3f(0.0, 0.0, -0.5), true, viz::Color::blue());
    cube_widget.setRenderingProperty(viz::LINE_WIDTH, 4.0);

    /// Display widget (update if already displayed)
    myWindow.showWidget("Cube Widget", cube_widget);

    /// Rodrigues vector
    Mat rot_vec = Mat::zeros(1, 3, CV_32F);
    float translation_phase = 0.0, translation = 0.0;
    while (!myWindow.wasStopped())
    {
        /* Rotation using rodrigues */
        /// Rotate around (1,1,1)
        rot_vec.at<float>(0, 0) += CV_PI * 0.01f;
        rot_vec.at<float>(0, 1) += CV_PI * 0.01f;
        rot_vec.at<float>(0, 2) += CV_PI * 0.01f;

        /// Shift on (1,1,1)
        translation_phase += CV_PI * 0.01f;
        translation = sin(translation_phase);

        Mat rot_mat;
        Rodrigues(rot_vec, rot_mat);

        /// Construct pose
        Affine3f pose(rot_mat, Vec3f(translation, translation, translation));

        myWindow.setWidgetPose("Cube Widget", pose);

        myWindow.spinOnce(1, true);
    }

    return 0;
}

OpenCV 3.1 viz tutorial error

So decided to include every viz hpp file and I am getting a different error

4   IntelliSense: vtkSmartPointer is not a template c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   76  20  Viz
6   IntelliSense: vtkSmartPointer is not a template c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   81  49  Viz
5   IntelliSense: identifier "vtkProp" is undefined c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   76  36  Viz
2   IntelliSense: cannot open source file "vtkSmartPointer.h"   c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   50  1   Viz
3   IntelliSense: cannot open source file "vtkProp.h"   c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   51  1   Viz
Error   1   error C1083: Cannot open include file: 'vtkSmartPointer.h': No such file or directory   C:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   50  1   Viz

So I googled up vtkSmartPointer.h and it turns out I need to install this thing called vtk (virtual toolkit). Holy shit can't I strictly use OpenCV to perform computer vision jobs ? What if I install VTK and now it tells me I also need another library ?

#include <opencv2/viz/vizcore.hpp>
#include <opencv2/viz/widgets.hpp>

#include <opencv2/viz/types.hpp>
#include <opencv2/viz/viz3d.hpp>
#include <opencv2/viz/widget_accessor.hpp>

#include <opencv2/calib3d/calib3d.hpp>
#include <iostream>

using namespace cv;
using namespace std;

/**
* @function main
*/
int main()
{
    /// Create a window
    viz::Viz3d myWindow("Coordinate Frame");

    /// Add coordinate axes
    myWindow.showWidget("Coordinate Widget", viz::WCoordinateSystem());

    /// Add line to represent (1,1,1) axis
    viz::WLine axis(Point3f(-1.0f, -1.0f, -1.0f), Point3f(1.0f, 1.0f, 1.0f));
    axis.setRenderingProperty(viz::LINE_WIDTH, 4.0);
    myWindow.showWidget("Line Widget", axis);

    /// Construct a cube widget
    viz::WCube cube_widget(Point3f(0.5, 0.5, 0.0), Point3f(0.0, 0.0, -0.5), true, viz::Color::blue());
    cube_widget.setRenderingProperty(viz::LINE_WIDTH, 4.0);

    /// Display widget (update if already displayed)
    myWindow.showWidget("Cube Widget", cube_widget);

    /// Rodrigues vector
    Mat rot_vec = Mat::zeros(1, 3, CV_32F);
    float translation_phase = 0.0, translation = 0.0;
    while (!myWindow.wasStopped())
    {
        /* Rotation using rodrigues */
        /// Rotate around (1,1,1)
        rot_vec.at<float>(0, 0) += CV_PI * 0.01f;
        rot_vec.at<float>(0, 1) += CV_PI * 0.01f;
        rot_vec.at<float>(0, 2) += CV_PI * 0.01f;

        /// Shift on (1,1,1)
        translation_phase += CV_PI * 0.01f;
        translation = sin(translation_phase);

        Mat rot_mat;
        Rodrigues(rot_vec, rot_mat);

        /// Construct pose
        Affine3f pose(rot_mat, Vec3f(translation, translation, translation));

        myWindow.setWidgetPose("Cube Widget", pose);

        myWindow.spinOnce(1, true);
    }

    return 0;
}

OpenCV 3.1 viz tutorial error

So decided to include every viz hpp file and I am getting a different error

4   IntelliSense: vtkSmartPointer is not a template c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   76  20  Viz
6   IntelliSense: vtkSmartPointer is not a template c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   81  49  Viz
5   IntelliSense: identifier "vtkProp" is undefined c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   76  36  Viz
2   IntelliSense: cannot open source file "vtkSmartPointer.h"   c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   50  1   Viz
3   IntelliSense: cannot open source file "vtkProp.h"   c:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   51  1   Viz
Error   1   error C1083: Cannot open include file: 'vtkSmartPointer.h': No such file or directory   C:\opencv\sources\modules\viz\include\opencv2\viz\widget_accessor.hpp   50  1   Viz

So I googled up vtkSmartPointer.h and it turns out I need to install this thing called vtk (virtual toolkit). Holy shit can't I strictly use OpenCV Do i really need to perform computer vision jobs ? What if I install VTK and now it tells me I also need another library ?? Is there a way I can make this work strictly using OpenCV ????? I f-ing hate installing and setting up. I just wanna freaking code

#include <opencv2/viz/vizcore.hpp>
#include <opencv2/viz/widgets.hpp>

#include <opencv2/viz/types.hpp>
#include <opencv2/viz/viz3d.hpp>
#include <opencv2/viz/widget_accessor.hpp>

#include <opencv2/calib3d/calib3d.hpp>
#include <iostream>

using namespace cv;
using namespace std;

/**
* @function main
*/
int main()
{
    /// Create a window
    viz::Viz3d myWindow("Coordinate Frame");

    /// Add coordinate axes
    myWindow.showWidget("Coordinate Widget", viz::WCoordinateSystem());

    /// Add line to represent (1,1,1) axis
    viz::WLine axis(Point3f(-1.0f, -1.0f, -1.0f), Point3f(1.0f, 1.0f, 1.0f));
    axis.setRenderingProperty(viz::LINE_WIDTH, 4.0);
    myWindow.showWidget("Line Widget", axis);

    /// Construct a cube widget
    viz::WCube cube_widget(Point3f(0.5, 0.5, 0.0), Point3f(0.0, 0.0, -0.5), true, viz::Color::blue());
    cube_widget.setRenderingProperty(viz::LINE_WIDTH, 4.0);

    /// Display widget (update if already displayed)
    myWindow.showWidget("Cube Widget", cube_widget);

    /// Rodrigues vector
    Mat rot_vec = Mat::zeros(1, 3, CV_32F);
    float translation_phase = 0.0, translation = 0.0;
    while (!myWindow.wasStopped())
    {
        /* Rotation using rodrigues */
        /// Rotate around (1,1,1)
        rot_vec.at<float>(0, 0) += CV_PI * 0.01f;
        rot_vec.at<float>(0, 1) += CV_PI * 0.01f;
        rot_vec.at<float>(0, 2) += CV_PI * 0.01f;

        /// Shift on (1,1,1)
        translation_phase += CV_PI * 0.01f;
        translation = sin(translation_phase);

        Mat rot_mat;
        Rodrigues(rot_vec, rot_mat);

        /// Construct pose
        Affine3f pose(rot_mat, Vec3f(translation, translation, translation));

        myWindow.setWidgetPose("Cube Widget", pose);

        myWindow.spinOnce(1, true);
    }

    return 0;
}