Skip to content

Latest commit

 

History

History
 
 

GUI

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

可视化界面软件

PCL Visialization,  Pangolin,  ros下的rviz

Pangolin 用于可视化和用户接口 基于opengl

安装,

是一款开源的OPENGL显示库,可以用来视频显示、而且开发容易。
是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。
可以用于3D视觉和3D导航的视觉图,
可以输入各种类型的视频、并且可以保留视频和输入数据用于debug。

github

官方样例demo

Pangolin函数的使用

Pangolin安装问题 安装依赖项

安装Pangolin的依赖项

1. glew
   sudo apt-get install libglew-dev
2. CMake:
   sudo apt-get install cmake
3. Boost:
   sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
4. Python2 / Python3:
   sudo apt-get install libpython2.7-dev
5. build-essential
   sudo apt-get install build-essential

安装Pangolin

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j
sudo make install

OpenGL

中文教程地址

github 代码

#include <iostream>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>

namespace {

void Init(void)
{
    glClearColor(1.0, 0.0, 1.0, 0.0);//设置背景颜色为洋红
    glColor3f(0.0f, 1.0f, 0.0f);//设置绘图颜色为绿色
    glPointSize(4.0);//设置点的大小为4*4像素
    glMatrixMode(GL_PROJECTION);//设置合适的矩阵
    glLoadIdentity();
    gluOrtho2D(0.0, 640.0, 0.0, 480.0);
}

void Display(void)
{
    glClear(GL_COLOR_BUFFER_BIT);//清屏
    glBegin(GL_POINTS);
    glVertex2i(289, 190);
    glVertex2i(320, 128);
    glVertex2i(239, 67);
    glVertex2i(194, 101);
    glVertex2i(129, 83);
    glVertex2i(75, 73);
    glVertex2i(74, 74);
    glVertex2i(20, 10);
    glEnd();
    glFlush();
}

} // namespace

int main(int argc, char* argv[])
{
    glutInit(&argc, argv);//初始化工具包
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//设置显示模式
    glutInitWindowSize(640, 480);//设置窗口大小
    glutInitWindowPosition(100, 150);//设置屏幕上窗口位置
    glutCreateWindow("my first attempt");//打开带标题的窗口
    glutDisplayFunc(&Display);//注册重画回调函数
    Init();
    glutMainLoop();//进入循环

    return 0;
}

# cmakelists.txt
PROJECT(multi_executable_file)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

# 查找OpenGL
FIND_PACKAGE(OpenGL REQUIRED)
IF(OPENGL_FOUND)
	MESSAGE("===== support OpenGL =====")
	MESSAGE(STATUS "OpenGL library status:")
	MESSAGE(STATUS "	include path: ${OPENGL_INCLUDE_DIR}")
	MESSAGE(STATUS "	libraries: ${OPENGL_LIBRARIES}")
	INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
ELSE()
	MESSAGE("##### not support OpenGL #####")
ENDIF()

ADD_EXECUTABLE(test_${sample_basename} ${sample})
TARGET_LINK_LIBRARIES(test_${sample_basename} ${OPENGL_LIBRARIES})