QVTK 可视化

news/2024/7/21 5:54:31 标签: 图像处理
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

#include <vtkNew.h>                     // 智能指针
#include <QVTKOpenGLNativeWidget.h>
#include <vtkCylinderSource.h>          // 圆柱

#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkProperty.h>
#include <vtkCamera.h>
#include <vtkGenericOpenGLRenderWindow.h>

#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);
VTK_MODULE_INIT(vtkRenderingFreeType);




QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    vtkNew<vtkCylinderSource> cylinder;     // 圆柱
    vtkNew<vtkPolyDataMapper> mapper;
    vtkNew<vtkActor> actor;
    vtkNew<vtkRenderer> renderer;
    vtkNew<vtkGenericOpenGLRenderWindow> renWin;



private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

#include “mainwindow.h”
#include “./ui_mainwindow.h”

MainWindow::MainWindow(QWidget *parent)
QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->openGLWidget->setStyleSheet(“background:transparent;border:3px solid black;”);
cylinder->SetResolution(10);


mapper->SetInputConnection(cylinder->GetOutputPort());

actor->SetMapper(mapper);
actor->GetProperty()->SetColor(0.0000, 0.3883, 0.2784);
actor->RotateX(30.0);
actor->RotateY(-45.0);

renderer->AddActor(actor);
renderer->ResetCamera();
renderer->GetActiveCamera()->Zoom(1.5);
renderer->SetBackground(0.1, 0.3, 0.7);
renWin->AddRenderer(renderer);
renWin->SetSize(640, 640);


ui->openGLWidget->setRenderWindow(renWin);

}

MainWindow::~MainWindow()
{
delete ui;
}

`
``在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/5259623.html

相关文章

光栅化渲染:光栅化算法实现

光栅化是将图元转换为二维图像的过程。 该图像的每个点都包含颜色和深度等信息。 因此&#xff0c;对图元进行光栅化由两部分组成。 第一个是确定窗口坐标中整数网格的哪些方格被图元占据。 第二个是为每个这样的方块分配颜色和深度值。 &#xff08;OpenGL 规范&#xff09; N…

动物姿态估计:微调 YOLOv8 姿态模型

动物姿态估计是计算机视觉的一个研究领域&#xff0c;是人工智能的一个子领域&#xff0c;专注于自动检测和分析图像或视频片段中动物的姿势和位置。目标是确定一种或多种动物的身体部位&#xff08;例如头部、四肢和尾巴&#xff09;的空间排列。这项技术具有广泛的应用&#…

STM32驱动步进电机(附原工程)

一、引言 本文旨在分享STM32对步进电机的驱动方法和代码工程&#xff08;文末附工程连接&#xff09;。初衷是我刚开始学者使用STM32驱动步进电机时&#xff0c;在CSDN上查阅了很多资料&#xff0c;好多都是只分享部分代码&#xff0c;有原工程的资源都需要付费&#xff01;&am…

14、vue3(十四):权限管理

一、查询以及数据回显 1.代码实现 (1)接口代码 type.ts: //数据类型定义 export interface ResponseData {code: number,message: string,ok: boolean } //菜单数据与按钮数据的ts类型 export interface Permisstion {"id"?: number,"createTime":…

【Kubernetes】四层代理Service

Service四层代理 一、Service概念原理1.1、为什么要有Service1.2、Service概述1.3、工作原理1.4、三类IP地址【1】Node Network&#xff08;节点网络&#xff09;【2】Pod network&#xff08;pod 网络&#xff09;【3】Cluster Network&#xff08;服务网络&#xff09; 二、S…

gamit安装

1 联想G510&#xff0c;按F2进去BIOS&#xff0c;选到configure,调节virtual &#xff0c;enable&#xff0c;F10保存&#xff0c;退出 2安装虚拟机vmare,装linus 3Ubuntn升级服务器更改&#xff0c;ustc.edu 4重新启动虚拟机 5前导软件 apt-get install csh apt-get inst…

【IDEA】IntelliJ IDEA创建一个Maven项目

在IDEA中创建Maven项目&#xff0c;前提是已经安装配置好Maven环境 。 本文主要使用的是IntelliJ IDEA 2022.2.1 (Community Edition) 1.创建一个新project:File>Project 2.修改Maven配置&#xff1a;File>Settings>搜索maven 创建好的工程如下&#xff1a; src/main…

4.Pandas行列进阶操作

1.新增列 1.1 assign Pandas中提供的assign()函数不仅可以实现不该表原数据情况下新增列&#xff0c;而且可以同时新增多列&#xff0c;还可以配合链式操作使用一行代码完成多个新增列的创建&#xff0c;使得代码非常整洁。 函数 import numpy as np import pandas as pd d…