C++
C++
累了就要打游戏
LiDAR,point cloud,DL
展开
-
抽稀点要素,计算角度
抽稀点要素,计算角度原创 2022-09-14 09:09:07 · 390 阅读 · 0 评论 -
两点的角度
计算两点的角度原创 2022-09-13 09:50:47 · 232 阅读 · 2 评论 -
PyTorch从模型训练到C++部署调用示例—MNIST分类(4)C++调用
的cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)project(classifyMNIST) find_package(Torch REQUIRED)find_package (OpenCV 4 REQUIRED)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}") message(STATUS "Pytorch status:")message(STATUS "原创 2021-06-25 15:11:51 · 629 阅读 · 0 评论 -
不同参考系统(椭球)的坐标转换
一、不同椭球基准的坐标转换①原坐标需先转换成所在椭球基准的空间直角坐标(X1Y1Z1)②通过“七参转换”转换成目标所在椭球基准的空间直角坐标(X2Y2Z2)③相同椭球基准的坐标转换,得到所需坐标...原创 2021-06-02 15:08:09 · 5487 阅读 · 0 评论 -
相同参考系统(椭球)大地坐标与高斯3°投影坐标相互转换_正算反算
一、正算:大地坐标(B, L, H)>>高斯3°投影坐标(x, y, H)原创 2021-05-28 16:36:32 · 1812 阅读 · 1 评论 -
相同参考系统(椭球)大地坐标与空间直角坐标相互转换
一、大地坐标(B, L, H)>>空间直角坐标(X, Y, Z)分享给有需要的人,代码质量勿喷。//B、L的单位是弧度,H的单位是米;X、Y、Z的单位是米//大地坐标(B,L,H)-->空间直角坐标(X,Y,Z)std::vector<double> CoordinateTransform::GeodeticBLH__SpaceRectangularXYZ(const double &B, const double &L, const doub原创 2021-05-25 11:39:01 · 2446 阅读 · 0 评论 -
zlib 通过CMake与VS2017编译
一、下载并解压zlib下载地址:https://www.zlib.net/二、CMake构建(1)设置路径源码路径:F:\zlib-1.2.11Build路径:F:\zlib-1.2.11build(2)选择VS2017、x64(3)依次单击Finish、Configure(4)注:笔者默认的install地址,在install时会报错,因此将install地址修改为F:/zlib。如下图所示。(5)依次单击Configure、Generate。Configu原创 2021-03-08 18:01:32 · 759 阅读 · 0 评论 -
Qt:多线程学习(二)图像转点云
一、说明个人记录,喷子绕道。(1)线程类继承QThread,重写 run 函数。(2)利用OpenCV读图像,利用LASlib写点云。每张图像对应一个点云。(3)图像分辨率 = 4096 * 2080,一个点云文件有8519680个点。(4)测试电脑:i5-3210M,8G内存,三星固态。内核数=2,逻辑处理器数=4。(5)100张图像,1个线程用时181秒,2个线程用时123秒,3个线程用时96秒,4个线程用时99秒。 二、测试代码分享给有需要的人,代码质...原创 2020-12-06 21:46:06 · 743 阅读 · 2 评论 -
Qt:多线程学习(一)
多线程多线程,让人头大也头疼。一、多线程的优势(1)提高应用程序的响应速度,UI防卡死。(2)系统调度不同的线程,使其运行在不同的CPU上。(3)改善程序结构。拆分代码,利于理解与维护代码。二、多线程程序的特点(1)无序。(2)随时随地切换线程。(3)代码敏感度高。(4)运行结果不完全相同。三、继承QThread,重写run()函数分享给有需要的人,代码质量勿喷。3.1 主线程MultiThreadTestMultiThreadTest.h#ifnd原创 2020-11-20 11:15:09 · 711 阅读 · 1 评论 -
C++:OTSU确定标线点云分割阈值
端午节快乐呀。闲来无事,想着分割一下标线点云,但是阈值怎么确定呢?感觉OTSU应该可以。原创 2020-06-25 13:48:26 · 969 阅读 · 4 评论 -
CMakeLists.txt 构建 Qt工程
cmake_minimum_required (VERSION 3.0)set(project_name test)project( test )# 关闭控制台 :+ WIN32set(QT_USE_QTMAIN TRUE)# 添加Qt5#包含当前路径,使用*.ui文件时,需要加上这句,否则找不到头文件set(CMAKE_INCLUDE_CURRENT_DIR ON)...原创 2020-06-20 15:42:16 · 3553 阅读 · 0 评论 -
C++:道格拉斯-普客算法 节点抽稀
一、道格拉斯-普客算法(Douglas-Peucker algorithm, DP)算法介绍推荐以下网址:百度百科:道格拉斯-普客算法https://zhuanlan.zhihu.com/p/74906781https://www.jianshu.com/p/bf595477a124https://blog.csdn.net/Fan_z_0802/article/details...原创 2020-04-27 14:51:25 · 1752 阅读 · 4 评论 -
C++:VS2017 C++ 生成dll并调用 示例
一、生成dll1.1 新建项目项目类型为“动态链接库(DLL)”,名称为“xj”;Release,x641.2 添加头文件“xj.h”1.3 修改属性右击项目—配置属性—C/C++—预编译头—不使用预编译头1.4 示例1.4.1 示例1:整数相加的函数1.4.2 示例2:利用OpenCV读取图片高和宽的函数(可忽略)(需添加包含目录和附加依赖项,如下...原创 2020-04-17 21:16:40 · 2168 阅读 · 0 评论 -
C++:最小二乘法 拟合直线
一、推导二、分享给有需要的人,代码质量勿喷。2.1 C++ 代码Void xjLeastSquares::FitLine2DByLeastSquares(std::map<int, std::vector<double>> mapPoint, double &k, double &b){ double sumX = 0, sumY =...原创 2019-12-31 14:48:18 · 5282 阅读 · 2 评论 -
C++:最小二乘法 拟合圆
一、推导二、分享给有需要的人,代码质量勿喷。void xjLeastSquares::FitCenterByLeastSquares(std::map<int, std::vector<double>> mapPoint, std::vector<double> ¢erP, double &radius){ double...原创 2020-01-02 08:24:46 · 4950 阅读 · 7 评论 -
OpenCV:OpenCV4.5常用的数学形态学操作
同学提的小需求:根据平均值和标准差生成随机整数分享给有需要的人,代码质量勿喷。unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();std::default_random_engine gen(seed);std::normal_distribution<float> dis...原创 2019-12-24 20:52:50 · 590 阅读 · 0 评论 -
C++/Qt:最小外接矩形
分享给有需要的人,代码质量勿喷。(程序中未考虑竖直和水平情况,后期可能会完善)一、需要用到的结构体和函数//自定义结构体struct xjPoint{ double x; double y; double z;};//返回 点与点的平面距离double TwoDistancePointAndPoint(const xjPoint &p1, const x...原创 2020-04-18 01:46:17 · 3844 阅读 · 6 评论 -
GDAL:创建矢量线、矢量面数据
分享给有需要的人,代码质量勿喷。一、创建矢量线数据 单个要素 void xjCreateVectorLineByGDAL(QList<xjPoint> ListNode, const QString &xjSavePath) { GDALAllRegister(); OGRRegisterAll(); const char *xjDriverName =...原创 2019-12-09 15:58:05 · 3724 阅读 · 5 评论 -
C++/Qt:凸包
分享给有需要的人,代码质量勿喷。首先是需要用到的结构体和函数//自定义结构体struct xjPoint{ double x; double y; double z;};/*返回 两点的平面距离*/double xjGet2DistancePP(xjPoint p1, xjPoint p2){ return (sqrt((p1.x - p2.x) * ...原创 2019-12-08 15:18:50 · 1595 阅读 · 2 评论 -
C++:野指针的概念、产生原因、危害和避免方式
一、概念野指针:指向一个已删除的对象或者申请访问受限内存区域的指针。二、产生原因2.1 定义时未初始化2.2 释放后未置空2.3 指针操作超出作用域三、危害内存泄漏3.1指向不可访问地址(程序报错)3.2 指向可用或无明确意义的空间(程序运行)3.3 指向可用且正被使用的空间(程序崩溃,或数据损坏)四、如何避免4.1 初始化 初始化...原创 2019-09-04 21:15:27 · 1267 阅读 · 0 评论 -
C#调用C++程序
分享给有需要的人,代码质量勿喷。C++程序放在bin文件夹下面string pExePath = string.Format(@"{0}\Filter.exe", Application.StartupPath);Process pProcess = new Process();pProcess.StartInfo.FileName = pExePath;pProcess.Sta...原创 2019-07-02 10:01:04 · 504 阅读 · 0 评论 -
C++/Qt:QList、QHash、QMultiHash、map、QMap存储数据对比
原因:做点云数据处理,需要存储点云的信息。对QList、QHash、QMultiHash、map、QMap的数据存储效率进行了对比。实验:读取点云的坐标、颜色和强度信息,存储在容器中,对比时间和内存增加情况。结果:分享给有需要的人,质量勿喷【若有不对的地方,敬请批评指正】结论:单从数据存储方面,我个人常用QMultiHash。...原创 2019-06-14 14:58:56 · 1579 阅读 · 0 评论 -
C++:点 线 位置关系
一、不带方向 分享给有需要的人,代码质量勿喷//点与线的位置关系:左上、点在线上、右下//p:待确定位置的点//SP:线上某点//EP:线上某点,与SP不重合//返回值:LeftTop、PL、RightBottomstring xjSpatialLocationRelationPointLine(LPoint p, LPoint SP, LPoint EP...原创 2019-04-18 16:27:31 · 2092 阅读 · 0 评论 -
C++/Qt:TXT文件读写
分享给有需要的人,代码质量勿喷。//一、读取内容显示void TxtReadWrite::xjOpenShowContent(){ QString xjPath = QFileDialog::getOpenFileName(this, tr("选择TXT文件"), QCoreApplication::applicationD...原创 2018-12-13 21:28:15 · 878 阅读 · 0 评论 -
C++:点到线段的平面距离。点与点的平面距离。
分享给有需要的人,代码质量勿喷。/// <summary>/// 点(p0) 到线段(p1,p2)的距离/// </summary>/// <param name="p0"></param>/// <param name="p1"></param>/// <param name="p2"><...原创 2018-11-12 19:03:46 · 2452 阅读 · 0 评论