C++
chen_jared
相互学习,共同进步!
展开
-
error LNK2001: 无法解析的外部符号 __imp_SymSetOptions
在Visual Studio中,右键点击项目 -> 属性 -> 链接器 -> 输入 -> 附加依赖项,添加 DbgHelp.lib。在项目的链接器设置中,添加 DbgHelp.lib 库。如果项目中没有正确链接这个库,就会出现这个错误。这个错误通常是由于链接器无法找到。是Windows调试API的一部分,通常在。原创 2024-11-06 11:10:21 · 116 阅读 · 0 评论 -
GPT-对点云强度进行直方图均衡化
【代码】GPT-对点云强度进行直方图均衡化。原创 2024-06-04 11:29:17 · 139 阅读 · 0 评论 -
PCL计算均值和协方差矩阵computeMeanAndCovarianceMatrix
如果点云是非稠密的,则将计算限制在具有有限值的点上,并更新点的数量。最后,累加器中的值除以点的数量,得到了各个坐标的平均值。其中,协方差矩阵是描述随机向量之间关系度量的矩阵,而中心点是点云的平均位置。该函数首先创建了一个大小为 9 的 Eigen::Matrix 对象 accu 作为累加器,并将其初始化为零矩阵。然后,对于点云中的每个点,该函数将点的 x、y、z 坐标及其平方项相应地添加到累加器中。此函数对于点云分析和计算对象的几何属性非常实用,例如计算点云的主要方向、法线和曲率等信息。原创 2023-06-13 15:03:10 · 787 阅读 · 0 评论 -
openv将raw格式的图像转成jpg
在工业相机采集数据时,应该会出现raw格式的图像。#include <iostream>#include <io.h>#include <chrono>int main(){ std::string filePath = "I:/bf/cn1"; std::vector<std::string> allFiles; getFiles(filePath, allFiles); auto aa = std::chrono::system_原创 2022-04-27 17:55:39 · 1102 阅读 · 0 评论 -
Opencv照片合成视频
void getFiles(const string& rootPath, vector<string> &paths, vector<string> &filePaths){ namespace fs = boost::filesystem; fs::path fullpath(rootPath); fs::recursive_directory_iterator end_iter; for (fs::recursive_directory_...原创 2022-02-28 15:46:16 · 2211 阅读 · 0 评论 -
Unix时间转周秒时间
double preTime = dUnix_time / 1000000;int nTime = floor(preTime);double dTime = preTime - nTime; //得到毫秒QDateTime datetime = QDateTime::fromTime_t(nTime);//或者使用QDateTime::fromTime_t(nTime).toUTC()转换为UTC的时间QDate date = datetime.date();int dayofweek .原创 2021-11-13 10:04:05 · 982 阅读 · 0 评论 -
应用程序无法启动,因为应用程序的并行配置不正确
在软件安装的过程中会出现如下的问题:我们,可以右键此电脑-管理,打开计算机管理器,查看日志,可以看到软件运行缺少的环境。原创 2021-09-07 15:41:23 · 4874 阅读 · 1 评论 -
VS调试时不显示变量的值
(1)不显示Qt中类型的值,如下图所示:原因:没有安装VS的Qt插件:qt-vsaddin。(2)不显示C++中的变量,如下图所示:在工具-选项-调试-常规中取消在变量窗口中显示对象的原始结构前面的√...原创 2021-08-12 17:39:56 · 14098 阅读 · 1 评论 -
C++学习记录
记录C++中的一些知识。#pragma pack (push,n) // 把原来对齐方式设置压栈,并设新的对齐方式为n个字节对齐#pragma pack(pop) // 恢复原来对齐方式 从上面两点来看#pragma pack(n)与#pragma pack (push,n)来看,他们之间的区别并不大,可以相互代替,只是后者恢复时是恢复到了原来的对齐方式,而前者是恢复到了编译器默认的对齐方式。推荐...原创 2021-04-23 22:27:23 · 432 阅读 · 0 评论 -
Qt翻译中lconvert.exe的使用
(1)当我们的ts文件损坏或者丢失时,可以根据qm文件反生成ts文件,使用如下的命令:lconvert compiled.qm -o source.ts (2)将多个ts文件合并输出lconvert -i primary.ts secondary.ts -o complete.ts原创 2021-04-23 21:31:55 · 1048 阅读 · 0 评论 -
opencv读取视频文件解析为照片
缺少处理视频文件需要的dll,把opencv文件夹中的 \3rdparty\ffmpeg里的opecv_ffmpeg.dll文件复制到bin目录下。原创 2020-12-16 17:48:38 · 658 阅读 · 0 评论 -
PDAL库读写多种格式的点云
// PDALTest.cpp : 定义控制台应用程序的入口点。//#pragma execution_character_set("utf-8") //解决中文#include "stdafx.h"#include <iostream>#include <memory>#include <pdal/PointTable.hpp>#include <pdal/PointView.hpp>#include <pdal/Opt...原创 2020-11-18 18:04:19 · 2797 阅读 · 1 评论 -
VS如何新建RelWithDebInfo模式
从这个模式的名称来看,它是一种含有调试信息的Release版本。那么它相当于是结合了Debug和Release版本的优点的一个版本。在C/C++的优化中【禁用优化】原创 2020-11-12 15:40:21 · 1355 阅读 · 0 评论 -
视觉SLAM十四讲(二)Eigen库
Eigen库是一个C++的开源线性代数库。它是一个纯头文件搭建起来的库,不需要链接库文件。Eigen库中所有的向量和矩阵都是Eigen::Matrix,它是一个模板类,它的前三个参数为数据类型、行、列。如果不确定矩阵的大小,可以使用动态大小的矩阵:Matrix<double,Dynamic,Dynamic> matrix_dynamic;随机数矩阵:Matrix3d::Random();转置:matrix_33.transpose();各元素之和:matrix_33.sum(原创 2020-10-01 10:56:17 · 1329 阅读 · 0 评论 -
LASlib库将PCL库点云类型数据转换为las格式保存
pcl是一个命名空间,跟std类似,PointCloud是类模板,<pcl::PointXYZ>是模板类实例化的类型。 在使用pcl::PointCloud<pcl::PointXYZI>::Ptr时需要使用new进行初始化,如下:pcl::PointCloud<pcl::PointXYZI>::Ptr cloudxyzi(new pcl::PointCloud<pcl::PointXYZI>); 在使用...原创 2020-06-16 21:02:38 · 3981 阅读 · 3 评论 -
使用GDAL库读写SHP文件
本文介绍如何读写shp文件的矢量线。在项目中,我们经常需要提取一些道路标线等对象保存为shp文件。本文使用到了Eigen库,需要的同学自己下载使用。以下读取shp文件的函数暂不支持中文路径。(1)读取矢量线shp文件:bool readPolylineShp(const std::string &filename, std::vector<std::vector<Eigen::Vector3f>> &pts) { // if this...原创 2020-05-13 13:57:19 · 7614 阅读 · 0 评论 -
Boost库实现文件夹下所有pcd文件名称的提取
下面的代码使用Boost库实现文件夹下所有pcd文件名称的提取,首先创建两个向量pcd_files_和pcd_paths用于存储文件夹下的点云序列和路径的序列。 boost::filesystem::is_directory:用于判断传入的参数dir_是否为目录。 boost::filesystem::directory_iterator:结合for循...原创 2020-05-07 12:49:25 · 412 阅读 · 0 评论 -
使用LASlib(LASTool)库对LAS文件进行分割
在实际的项目,有很多时候,我们会遇到一个巨大的las文件,比如7,8个G的大小。这时候,我们需要对这个大的las文件进行分块保存为多个小的las文件。可是按照点的个数进行保存,也可以按照内存的大小保存。实际上也就是对点云的读写过程。具体的代码如下所示:void lasFileDivision(){ LASreadOpener lasreadopener; LASwrite...原创 2020-04-22 22:05:00 · 3196 阅读 · 1 评论 -
VS2017+win10编译LASlib(LASTools)库
LASlib是进行点云数据读写的理想工具,由北卡计算机学院的Martine isenburg编写。基于该开源库,作者同时开发了LASTool,包含了一系列点云数据处理的工具。LASlib提供了LAS格式的LiDAR点云数据的高效读写接口。因此,对于一些常用的LAS格式的数据操作,LASlib的开源、高效等特性,无疑使其成为一个重要的开发库。源代码下载地址:http://www.c...原创 2020-04-14 09:55:46 · 3428 阅读 · 3 评论 -
libLAS库实现las文件的读写
尽管libLAS库已经没有维护了。但是还是有些同学在以前的项目中需要用到libLAS库。下面就简单的用代码展示如何使用libLAS库来读写las点云数据。(1)读las文件点云数据(这个比较简单,网上有大量的例子):std::ifstream ifs;ifs.open("C:\\Users\\51267\\Desktop\\podtest\\181013_030701-1...原创 2020-04-13 11:40:11 · 4342 阅读 · 1 评论 -
点云库PCL从入门到精通常见的编译错误
(1)error c4996: 'fopen': This function or variable may be unsafe 解决方法:项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加:_CRT_SECURE_NO_DEPRECATE。 参考博文:https://blog.csdn.net/wang...原创 2020-04-07 12:04:09 · 5120 阅读 · 2 评论 -
C++跳到指定行开始读取指定的列数据
在读取大容量数据的时候,前面的几行常常包括文件的说明,所以读取的时候应该去掉,而且我们经常需要读取文件中的指定列的数据。下面的例子演示了这个功能://定位到txt文件的某一行ifstream & seek_to_line(ifstream & in, int line)//将打开的文件in,定位到line行。{ int i; char buf[1024...原创 2019-11-25 22:20:46 · 9010 阅读 · 2 评论 -
C++中vector消除重复并排序
删除vector中的指定元素的时候,我们一般使用迭代器遍历删除响应的元素;在vector中删除元素使用erase()函数,务必需要注意的一点是,vector在删除之后,已经发生变化,后续的有关操作必须考虑到删除操作带来的影响。要删除元素,你应该这样做:zl::material_InventoryVec& MainWnd::removeLockBox(zl::material_...原创 2019-10-23 08:57:31 · 5462 阅读 · 0 评论 -
C++实现串口的自动识别
1.首先需要遍历注册表得到所有可用的串口详细的代码如下所示,将得到的每一个串口保存到向量vector中//得到所有的串口号vector<string> cnComm::getComPort(){ HKEY hKey; char portName[256], commName[256]; //打开串口注册表对应的键值 if (ERROR_SUCCESS == ...原创 2018-08-17 22:33:03 · 6911 阅读 · 0 评论 -
C++实现最小二乘法求数据的斜率,相关系数,截距
详细的代码如下所示:static void LeastSquaresFitting(int nData[],int nLen,double &a,double &b,double &r){ double av_x,av_y; //声明变量 double L_xx,L_yy,L_xy; double *fData = new double[nLen]; //...原创 2018-09-06 08:00:33 · 8463 阅读 · 0 评论 -
Qt实现Excel表格的读写操作(office,WPS)
我们用QT经常会将表格的数据导入数据库或者将数据库中的数据导出为*.xls/*.xlsx。使用比较多的就是用QAxObject对象进行操作。一般首先会连接数据库:QAxObject *excel = new QAxObject(this); //连接Excel控件excel->setControl("Excel.Application");但是很多人的电脑上并没有安装office...原创 2018-11-05 13:58:48 · 22508 阅读 · 4 评论 -
通过在Qt中调用cmd命令来执行sql数据库备份
在命令行测试有效,该例子通过在Qt调用CMD命令来执行数据备份,亲测有效(仅在mysql中测试过)。具体的源代码如下: //设置命令语句 QString Cmd = QString(" mysqldump -h100.100.21.72 -P3306 -u %1 -p%2 zlschool").arg("root","123456"); //要保存的路径...原创 2019-02-27 14:01:52 · 1033 阅读 · 0 评论 -
用固定字节的数据表示随机多个十六进制的0x00,0x01
例如:有9个16进制的数(只能是0x00和0x01)0x00,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x01,将这9个数用二个字节的二进制位表示则是11110010,00000001或者(01001111,10000000)。(可以是固定的字节,如下面代码中的是6字节)具体的代码如下所示:QByteArray Handle::getOccupyRecord...原创 2019-03-14 22:17:42 · 1780 阅读 · 0 评论 -
C++中的全局变量extern,static的使用
1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作: 第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件; 第二步,将工程中所有的obj文件进行LINK,生成最终.exe文件。 那么,错误可能在两个地方产生: 一个,编译时的错误,这个主要是语法错误; 一个,链接时的错误,主要是重复定义变量等。 ...翻译 2019-03-20 08:50:30 · 1554 阅读 · 0 评论 -
Qt知识点记录
在项目的开发中,我们常常需要对数据库进行备份://mysql数据备份bool SystemSetting_DataBase::mysqlDatabaseBackup(QString strPath){ QString Cmd = QString(" mysqldump -h%1 -P%2 -u %3 -p%4 %5").arg(db_ip,db_port,db_user,db_p...原创 2019-04-09 09:41:40 · 1303 阅读 · 2 评论 -
C++编程——找出字符串中同时包含大写和小写的字母
题目:找出字符串中同时包含大写和小写的字母,并返回字母的个数:eg: (1)"I Love you" : return 0; (2)"I Like you" :return 1; (Ii) (3)"I Like you,Lily" :return 2; (IiLl) (4)"AaBBBBbCcdddde" ...原创 2019-05-14 09:15:21 · 3255 阅读 · 0 评论 -
C++编程——利用指针偏移访问类的私有成员
由于C++中默认是private,所以a,b,c都是私有成员。(指针可是万能之王,然而也是万恶之源。)using namespace std;class X{ int a; int b; union{ int c; cahr d[4]; int e; };public: int getb(){return b;} i...原创 2019-05-15 21:54:05 · 762 阅读 · 0 评论 -
Qt在Win10下调用系统的软键盘
1.在windows下使用Qt调用系统的软键盘可以使用:QDesktopServices::openUrl(QUrl("osk.exe", QUrl::TolerantMode)); 在win7系统下可以使用,但是换到win10下则出现错误ShellExecute 'osk.exe' failed (error 2).win10下调用系统的软键盘: PVOID OldV...原创 2019-09-06 09:03:53 · 3844 阅读 · 7 评论 -
Qt ubuntu16.4修改系统的时间
Qt设置系统的时间: QString dataSys = "date -s \""; dataSys += ui.dateTimeEdit->text().trimmed(); dataSys += "\""; system(dataSys.toUtf8()); system("hwclock --systohc");原创 2019-09-17 11:18:18 · 653 阅读 · 0 评论 -
DirectShow实现视频的实时显示并抓图,可以设置视频参数
效果图如图所示:想要源码的同学可以点击下面的链接进行下载:https://download.csdn.net/download/jacken123456/10438781原创 2018-05-26 08:27:13 · 7992 阅读 · 6 评论