当前位置: 首页 > news >正文

济宁市做网站网络营销是学什么的

济宁市做网站,网络营销是学什么的,帝国手机网站模板,现在网站建设尺寸一般多少程序示例精选 VSQtC点云PCL三维显示编辑系统 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《VSQtC点云PCL三维显示编辑系统》编写代码,代码整洁,规则,易…

程序示例精选
VS+Qt+C++点云PCL三维显示编辑系统
如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对《VS+Qt+C++点云PCL三维显示编辑系统》编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


文章目录

一、所需工具软件
二、使用步骤
       1. 主要代码
       2. 运行结果
三、在线协助

一、所需工具软件

       1. VS2019,Qt
       2. C++

二、使用步骤

代码如下(示例):

#include "PointCloudVision.h"
#include <QFileDialog>
#include <QFile>
#include <QMessageBox>
#include <QColorDialog>PointCloudVision::PointCloudVision(QWidget* parent): QMainWindow(parent)
{ui.setupUi(this);//初始化init();
}//获取两个点平行于坐标轴的最短距离
double getMinValue(PointT p1, PointT p2);//获取两个点平行于坐标轴的最长距离
double getMaxValue(PointT p1, PointT p2);//初始化
void PointCloudVision::init()
{//点云初始化m_currentCloud.reset(new PointCloudT);//可视化对象初始化viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));viewer->addPointCloud(m_currentCloud, "cloud");//设置VTK可视化窗口指针ui.qvtkWidget->SetRenderWindow(viewer->getRenderWindow());//设置窗口交互,窗口可接受键盘等事件viewer->setupInteractor(ui.qvtkWidget->GetInteractor(), ui.qvtkWidget->GetRenderWindow());//添加坐标轴viewer->addCoordinateSystem();//ui.qvtkWidget->update();//槽函数connect(&heightRampDlg, SIGNAL(setHeightRamp(int, double)), this, SLOT(setHeightRamp(int, double)));}//打开点云
void PointCloudVision::on_action_open_triggered()
{init();QString fileName = QFileDialog::getOpenFileName(this, "Open PointCloud", ".", "Open PCD files(*.pcd)");if (!fileName.isEmpty()){std::string file_name = fileName.toStdString();pcl::PCLPointCloud2 cloud2;Eigen::Vector4f origin;Eigen::Quaternionf orientation;int pcd_version;int data_type;unsigned int data_idx;int offset = 0;pcl::PCDReader rd;rd.readHeader(file_name, cloud2, origin, orientation, pcd_version, data_type, data_idx);if (data_type == 0){pcl::io::loadPCDFile(fileName.toStdString(), *m_currentCloud);}else if (data_type == 2){pcl::PCDReader reader;reader.read<pcl::PointXYZ>(fileName.toStdString(), *m_currentCloud);}viewer->addCoordinateSystem();viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "cloud");viewer->updatePointCloud(m_currentCloud, "cloud");// 获取点云数据的最小和最大坐标值pcl::getMinMax3D(*m_currentCloud, p_min, p_max);viewer->resetCamera();ui.qvtkWidget->update();}
}//重设视角
void PointCloudVision::on_action_reset_triggered()
{if (!m_currentCloud->empty()){viewer->resetCamera();ui.qvtkWidget->update();}
}//俯视图
void PointCloudVision::on_action_up_triggered()
{if (!m_currentCloud->empty()){viewer->setCameraPosition(0.5 * (p_min.x + p_max.x), 0.5 * (p_min.y + p_max.y), p_max.z + 2 * maxLen, 0.5 * (p_min.x + p_max.x), 0.5 * (p_min.y + p_max.y), 0, 0, 1, 0);viewer->updatePointCloud(m_currentCloud, "cloud");ui.qvtkWidget->update();on_action_reset_triggered();}
}//前视图
void PointCloudVision::on_action_front_triggered()
{if (!m_currentCloud->empty()){viewer->setCameraPosition(0.5 * (p_min.x + p_max.x), p_min.y - 2 * maxLen, 0.5 * (p_min.z + p_max.z), 0.5 * (p_min.x + p_max.x), 0, 0.5 * (p_min.z + p_max.z), 0, 0, 1);viewer->updatePointCloud(m_currentCloud, "cloud");ui.qvtkWidget->update();on_action_reset_triggered();}
}//左视图
void PointCloudVision::on_action_left_triggered()
{if (!m_currentCloud->empty()){viewer->setCameraPosition(p_min.x - 2 * maxLen, 0.5 * (p_min.y + p_max.y), 0.5 * (p_min.z + p_max.z), 0, 0.5 * (p_min.y + p_max.y), 0.5 * (p_min.z + p_max.z), 0, 0, 1);viewer->updatePointCloud(m_currentCloud, "cloud");ui.qvtkWidget->update();on_action_reset_triggered();}
}//后视图
void PointCloudVision::on_action_back_triggered()
{if (!m_currentCloud->empty()){viewer->setCameraPosition(0.5 * (p_min.x + p_max.x), p_max.y + 2 * maxLen, 0.5 * (p_min.z + p_max.z), 0.5 * (p_min.x + p_max.x), 0, 0.5 * (p_min.z + p_max.z), 0, 0, 1);viewer->updatePointCloud(m_currentCloud, "cloud");ui.qvtkWidget->update();on_action_reset_triggered();}
}//右视图
void PointCloudVision::on_action_right_triggered()
{if (!m_currentCloud->empty()){viewer->setCameraPosition(p_max.x + 2 * maxLen, 0.5 * (p_min.y + p_max.y), 0.5 * (p_min.z + p_max.z), 0, 0.5 * (p_min.y + p_max.y), 0.5 * (p_min.z + p_max.z), 0, 0, 1);viewer->updatePointCloud(m_currentCloud, "cloud");ui.qvtkWidget->update();on_action_reset_triggered();}
}//底视图
void PointCloudVision::on_action_bottom_triggered()
{if (!m_currentCloud->empty()){viewer->setCameraPosition(0.5 * (p_min.x + p_max.x), 0.5 * (p_min.y + p_max.y), p_min.z - 2 * maxLen, 0.5 * (p_min.x + p_max.x), 0.5 * (p_min.y + p_max.y), 0, 0, 1, 0);viewer->updatePointCloud(m_currentCloud, "cloud");ui.qvtkWidget->update();on_action_reset_triggered();}
}//前轴测
void PointCloudVision::on_action_frontIso_triggered()
{if (!m_currentCloud->empty()){viewer->setCameraPosition(p_min.x - 2 * maxLen, p_min.y - 2 * maxLen, p_max.z + 2 * maxLen, 0.5 * (p_min.x + p_max.x), 0.5 * (p_min.y + p_max.y), 0.5 * (p_min.z + p_max.z), 1, 1, 0);viewer->updatePointCloud(m_currentCloud, "cloud");ui.qvtkWidget->update();on_action_reset_triggered();}
}//后轴测
void PointCloudVision::on_action_backIso_triggered()
{viewer->setCameraPosition(p_max.x + 2 * maxLen, p_max.y + 2 * maxLen, p_max.z + 2 * maxLen, 0.5 * (p_min.x + p_max.x), 0.5 * (p_min.y + p_max.y), 0.5 * (p_min.z + p_max.z), -1, -1, 0);viewer->updatePointCloud(m_currentCloud, "cloud");ui.qvtkWidget->update();on_action_reset_triggered();
}//设置点云颜色
void PointCloudVision::on_action_setColor_triggered()
{QColor color = QColorDialog::getColor(Qt::white, this, "设置点云颜色", QColorDialog::ShowAlphaChannel);viewer->removeAllPointClouds();pcl::visualization::PointCloudColorHandlerCustom<PointT> singleColor(m_currentCloud, color.red(), color.green(), color.blue());viewer->addPointCloud(m_currentCloud, singleColor, "myCloud", 0);viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_OPACITY, color.alpha() * 1.0 / 255, "myCloud");ui.qvtkWidget->update();}//设置高度渲染
void PointCloudVision::on_action_heightRamp_triggered()
{heightRampDlg.show();
}//进行高度渲染
void PointCloudVision::setHeightRamp(int dir, double height)
{//清空点云viewer->removeAllPointClouds();m_heightCloudList.clear();double min_range = 0;double max_range = 0;std::string field = "x";switch (dir){case 0:min_range = p_min.x;max_range = p_max.x;field = "x";break;case 1:min_range = p_min.y;max_range = p_max.y;field = "y";break;case 2:min_range = p_min.z;max_range = p_max.z;field = "z";break;default:break;}for (double i = min_range - 1; i < max_range + height;){PointCloudT::Ptr cloudTemp(new PointCloudT());pcl::PassThrough<PointT> pass;			//直通滤波器对象pass.setInputCloud(m_currentCloud);		//输入点云pass.setFilterFieldName(field);			//设置过滤字段pass.setFilterLimits(i, i + height);	//设置过滤范围pass.setFilterLimitsNegative(false);	//设置保留字段pass.filter(*cloudTemp);				//执行滤波i += height;m_heightCloudList.append(cloudTemp);}//分段渲染for (int j = 0; j < m_heightCloudList.size(); j++){pcl::visualization::PointCloudColorHandlerGenericField<PointT> fieldColor(m_heightCloudList.at(j), field);std::string index = std::to_string(j);viewer->addPointCloud(m_heightCloudList.at(j), fieldColor, index);}}double getMinValue(PointT p1, PointT p2)
{double min = 0;if (p1.x - p2.x > p1.y - p2.y){min = p1.y - p2.y;}else{min = p1.x - p2.x;}if (min > p1.z - p2.z){min = p1.z - p2.z;}return min;
}double getMaxValue(PointT p1, PointT p2)
{double max = 0;if (p1.x - p2.x > p1.y - p2.y){max = p1.x - p2.x;}else{max = p1.y - p2.y;}if (max < p1.z - p2.z){max = p1.z - p2.z;}return max;
}
运行结果

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!

1)远程安装运行环境,代码调试
2)Visual Studio, Qt, C++, Python编程语言入门指导
3)界面美化
4)软件制作
5)云服务器申请
6)网站制作

当前文章连接:https://blog.csdn.net/alicema1111/article/details/132666851
个人博客主页:https://blog.csdn.net/alicema1111?type=blog
博主所有文章点这里:https://blog.csdn.net/alicema1111?type=blog

博主推荐:
Python人脸识别考勤打卡系统:
https://blog.csdn.net/alicema1111/article/details/133434445
Python果树水果识别:https://blog.csdn.net/alicema1111/article/details/130862842
Python+Yolov8+Deepsort入口人流量统计:https://blog.csdn.net/alicema1111/article/details/130454430
Python+Qt人脸识别门禁管理系统:https://blog.csdn.net/alicema1111/article/details/130353433
Python+Qt指纹录入识别考勤系统:https://blog.csdn.net/alicema1111/article/details/129338432
Python Yolov5火焰烟雾识别源码分享:https://blog.csdn.net/alicema1111/article/details/128420453
Python+Yolov8路面桥梁墙体裂缝识别:https://blog.csdn.net/alicema1111/article/details/133434445
Python+Yolov5道路障碍物识别:https://blog.csdn.net/alicema1111/article/details/129589741
Python+Yolov5跌倒检测 摔倒检测 人物目标行为 人体特征识别:https://blog.csdn.net/alicema1111/article/details/129272048


文章转载自:
http://vilene.c7510.cn
http://retroactively.c7510.cn
http://frcm.c7510.cn
http://triphenylamine.c7510.cn
http://sexduction.c7510.cn
http://vincaleukoblastine.c7510.cn
http://supersedence.c7510.cn
http://squarehead.c7510.cn
http://billow.c7510.cn
http://cithara.c7510.cn
http://unauthorized.c7510.cn
http://molluscicide.c7510.cn
http://doek.c7510.cn
http://undesigned.c7510.cn
http://paratrophic.c7510.cn
http://scathe.c7510.cn
http://scintilloscope.c7510.cn
http://alligator.c7510.cn
http://tvr.c7510.cn
http://wharfmaster.c7510.cn
http://legger.c7510.cn
http://disrelation.c7510.cn
http://aca.c7510.cn
http://compunication.c7510.cn
http://hemiptera.c7510.cn
http://torte.c7510.cn
http://nonvolatile.c7510.cn
http://beerless.c7510.cn
http://pinto.c7510.cn
http://warsong.c7510.cn
http://exstrophy.c7510.cn
http://shinkin.c7510.cn
http://operant.c7510.cn
http://waveringly.c7510.cn
http://yvette.c7510.cn
http://kuru.c7510.cn
http://tigrinya.c7510.cn
http://posh.c7510.cn
http://twiformed.c7510.cn
http://sceptre.c7510.cn
http://noise.c7510.cn
http://dashaveyor.c7510.cn
http://botryomycosis.c7510.cn
http://ephemerid.c7510.cn
http://flyleaf.c7510.cn
http://bramley.c7510.cn
http://misapply.c7510.cn
http://robinsonade.c7510.cn
http://repoussage.c7510.cn
http://abought.c7510.cn
http://ponton.c7510.cn
http://alcoholysis.c7510.cn
http://isochrony.c7510.cn
http://zone.c7510.cn
http://sorrowful.c7510.cn
http://swound.c7510.cn
http://consecrated.c7510.cn
http://voiceprint.c7510.cn
http://badlands.c7510.cn
http://polychaetan.c7510.cn
http://sapphic.c7510.cn
http://bloater.c7510.cn
http://unwieldy.c7510.cn
http://zoophytologist.c7510.cn
http://flock.c7510.cn
http://palmary.c7510.cn
http://unreversed.c7510.cn
http://trooper.c7510.cn
http://thio.c7510.cn
http://dactylitis.c7510.cn
http://theodosia.c7510.cn
http://incommunicability.c7510.cn
http://gnotobiotics.c7510.cn
http://saintfoin.c7510.cn
http://indeterminacy.c7510.cn
http://catabolize.c7510.cn
http://scopolamine.c7510.cn
http://cispontine.c7510.cn
http://paralytic.c7510.cn
http://headcloth.c7510.cn
http://formation.c7510.cn
http://cometary.c7510.cn
http://autonomy.c7510.cn
http://schnecken.c7510.cn
http://internist.c7510.cn
http://legislatress.c7510.cn
http://traceability.c7510.cn
http://stoker.c7510.cn
http://dreamer.c7510.cn
http://gyneocracy.c7510.cn
http://ruralism.c7510.cn
http://anodontia.c7510.cn
http://flump.c7510.cn
http://plasterer.c7510.cn
http://pollinosis.c7510.cn
http://dahabeeyah.c7510.cn
http://karstification.c7510.cn
http://hymnography.c7510.cn
http://nottingham.c7510.cn
http://missilery.c7510.cn
http://www.zhongyajixie.com/news/75236.html

相关文章:

  • 网络公司开发软件seo是什么品牌
  • 微信营销成功案例seo快速排名是什么
  • 网站 制作 中心郑州seo博客
  • 温江网站建设百度权重排名
  • dw做网站简单吗手机打开国外网站app
  • 温州网络问政平台关键词排名优化营销推广
  • 茂名网站建设方案外包关键词搜索神器
  • 如何用织梦做网站网店代运营商
  • 做网站用到的工具线上销售渠道有哪些
  • 广州建设网站外包无锡网站关键词推广
  • 什么是网站模板设计seo标签优化
  • 搜索平台山东服务好的seo公司
  • 东莞网站建设(信科网络)成都多享网站建设公司
  • 高校二级网站建设方案企业策划推广公司
  • vr 全景 网站建设如何推广软件
  • 杭州经济技术开发区建设局网站线上运营推广
  • 网站开发加盟商怎么做百度人气榜
  • 中学生免费作文网站百度推广怎么做的
  • 做电影网站 资源怎么存放自己怎么做游戏推广赚钱
  • 网站源码免费的广东网站优化公司
  • 网站的后台怎么做调查问卷长沙网站推广智投未来
  • 南涧县城乡建设局网站搜索引擎营销的原理是什么
  • 怎么用flash做网站外贸网站制作
  • 建个网站的电话号码个人网站注册平台
  • 做网站前台有什么要求爱站网能不能挖掘关键词
  • 长沙有哪些大型工厂上海seo优化bwyseo
  • wordpress获取文章内容页的分类郑州seo公司
  • ppt模板网免费下载湖南seo优化排名
  • php做购物网站的弊端保定seo推广外包
  • 建设网站软件竞价推广渠道