![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
cactus233
这个作者很懒,什么都没留下…
展开
-
C++编程中多个矩阵保存与读取
C++编程中会遇到矩阵的存取问题,需要将结果矩阵输出到本地文件或者从本地文件中读取矩阵信息,本文主要是两种存取方法第一种比较简单的TXT文件存取,第二种是基于OPENCV的xml文件存取1、矩阵到txt文件的存取不需要使用任何库文件,文件中只有矩阵的数据信息,简单易懂,但是不方便读取,只能使用for循环一次读取每一个矩阵需要添加的库文件#include <fstream&g...原创 2018-09-05 11:36:11 · 6770 阅读 · 1 评论 -
PCL之ExtractIndices通过分割算法提取部分点云数据子集
ExtractIndices通过分割算法提取部分点云数据子集的下标索引,代码过程步骤:使用之前的体素栅格下采样方法进行下采样;SAC平面参数模型提取符合该几何模型的点云数据子集,再利用分割算法进行提取符合几何平面的点云数据子集;利用negative变量可以提取相反的点云集剩余点云;利用剩余点云作为待处理的点云,返回步骤2,进入下一轮循环,直到满足终止条件// extractIn...原创 2019-06-14 19:00:53 · 2416 阅读 · 0 评论 -
PCL 之离群点去除
基于半径(规定圆内和邻居个数限制)和条件(滤波域和值范围)实行离群点去除#include "stdafx.h"//int _tmain(int argc, _TCHAR* argv[])//{// return 0;//}#include<iostream>#include<pcl/io/pcd_io.h>#include<pcl/io/p...原创 2019-06-14 19:03:25 · 4358 阅读 · 0 评论 -
两张二维图片的配准
#include <iostream> //标准输入输出流#include <pcl/io/pcd_io.h> //PCL的PCD格式文件的输入输出头文件#include <pcl/io/obj_io.h> //PCL的PCD格式文件的输入输出头文件#include <pcl/point_types.h> //PCL对各种格式的点的支持头文件...原创 2019-06-14 19:06:09 · 2218 阅读 · 2 评论 -
Linux 编译基于Opencv的C++项目
背景:在linux下使用cmake编译C++项目,其中使用的到opencv,有两种方法1、项目中只有简单的一个源码文件,直接使用命令,这个没有亲测,仅是记录gcc Test.c -o Test `pkg-config --cflags --libs opencv`2、使用cmakelist文件进行编译我尝试过直接在cmakelist文件中设置 opencv的include和lib...原创 2019-06-04 10:02:47 · 1504 阅读 · 0 评论 -
WIndows下提取一个文件夹下的文件名list
背景:WIndows下,提取一个文件夹下的文件名list(不带后缀名)实现代码//获取文件路径下的文件名void getFiles(string path, vector<string>& files){ // 文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo; string p; ...原创 2019-06-04 10:08:43 · 1691 阅读 · 0 评论 -
C++ 中拆分字符串
背景,将长字符串根据某一个字符进行拆分void splitStr(std::string &longstr, std::vector<std::string> &subStrs){ std::string substr0; for (int i = 0; i < longstr.size(); i = i + 2){ std::string tmpS...原创 2019-06-04 10:14:23 · 1889 阅读 · 0 评论 -
PCL 根据参数模型将点云数据映射到指定的几何模型
// projectpoints.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"////int _tmain(int argc, _TCHAR* argv[])//{// return 0;//}#include <iostream>#include <pcl/io/pcd_io.h>#include <...原创 2019-06-14 18:56:58 · 1190 阅读 · 0 评论 -
PCL 体速栅格下采样
体素栅格下采样方法,通过设定小立方体的size,计算它的重心(而不是中心)代替其中所有的点,进行下采样// downsamvoxelgrid.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//体素栅格下采样zxr//int _tmain(int argc, _TCHAR* argv[])//{// return 0;//}#inclu...原创 2019-06-14 18:51:32 · 1455 阅读 · 2 评论 -
编译错误
1、变量冲突错误 出现这类错误的根本原因,是工程中存在错误指向的文件中同名的变量,所以根据编译错误定位的出问题的地方确定冲突变量,修改自己的项目中该变量即可,2、类模板定义冲突错误这个也是由于TNT::Vector重复定义导致的,由于是使用到的两个第三方库的命名发生冲突,修改起来比较麻烦,未完待续。。。...原创 2018-12-04 14:39:59 · 246 阅读 · 0 评论 -
C++模板函数初用
模板类可以使程序变得更加简单明了最常见的就是下面一种普通的类型和调用template <typename T>//<typename T>和<class T>具有相同的意义T sub(T &a, T &b){ return a - b;}//调用方法有两种int a = 9, b = 4;int c = sub(a, b)...原创 2019-01-04 10:38:19 · 326 阅读 · 0 评论 -
Openmesh中mesh模型的读写
mesh结构普通读写meshT mesh;OpenMesh::IO::read_mesh(mesh, meshFile);OpenMesh::IO::write_mesh(mesh, meshFile);可以通过OpenMesh::IO::Options 进行设置,1、读取mesh数据如果文件中包含法线或者纹理信息,需要提前添加相关的属性mesh.request_ve...原创 2019-01-31 14:50:37 · 3530 阅读 · 0 评论 -
自定义的结构体出错:error C2011: “TriTraits1”:“struct”类型重定义
h文件中新定义的结构体,不断地出现struct重定义错误,修改了变量名仍旧是这个错误在网上找了很多方法,删除之前的编译文件重新编译,该边变量名等,都没有效果最后在定义所在的头文件的开始出增加语句 #pragma once 成功解决上面的重定义问题;该错误的原因是重复同一文件被include多次,解决方法有两种一种是#ifndef方式,#ifndef SOME_UNIQUE_...原创 2019-01-30 10:20:01 · 1398 阅读 · 0 评论 -
WIndows下 C++ 从文件中读取数据
背景:WIndows下利用C++ 从文件中读写内容1、使用fscanf语句#include <map>#include <fstream>std::FILE *fp;fp = fopen(filePath.c_str(), "r");if (!fp ) { printf("Cann't open input csv file: %s\n", file...原创 2019-06-06 17:04:11 · 3126 阅读 · 0 评论 -
C++ try catch 的使用
1、在当前函数中简单直接使用 for (int i = 0; i < 5; i++){ std::vector<int> temp; if (i != 3){ temp.push_back(i); } try{ if (temp.size() == 0){ throw "temp is empty!\n"; } }...原创 2019-04-22 15:15:59 · 769 阅读 · 0 评论 -
在VScode 中利用 Cmake进行编译运行c++项目
1、建立projectname文件夹在里面建立 bin、build、include、lib、src文件夹和CMakeLists.txt文件项目中的cpp文件放在src中,h头文件放在include中2、CMakeLists文件的编写cmake_minimum_required(VERSION 2.8)project(ModelWash)set(CMAKE_BUILD_TYPE...原创 2019-05-29 11:09:37 · 8096 阅读 · 0 评论 -
Windows下的C++ 程序移植到linux下
有时候,需要将原本Windows下成功运行的C++代码移植到linux系统下,过程往往不是特别顺利,下面列出几个移植过程中需要注意的几个问题1、#include<windows.h> 非win平台不能使用2、#pragma once 避免同一个文件被包含多次,可移植性不好,linux下就会报错,还有一种相同功能的 是#ifndef是通用的,具体用法如下#ifndef MA...原创 2019-05-29 11:47:53 · 8443 阅读 · 1 评论 -
Linux下 C++ 逐行读取文件内容 并按空格读取每一列的内容
背景:在linux下读取文件内容,按照WIndows下的代码一直提示错误Segmentation fault (core dumped),最后发现linux下读取是有区别的不能直接使用WIndows下的代码实现代码如下std::ifstream f(filename.c_str()); char csvLine[100]={0};//重要!!! 100 一般设为一行的最大长度f.get...原创 2019-06-06 17:03:10 · 2304 阅读 · 0 评论 -
pcl第一个例子程序
点云的读写例子#include "stdafx.h"#include <iostream> //标准输入输出流#include <pcl/io/pcd_io.h> //PCL的PCD格式文件的输入输出头文件#include <pcl/io/ply_io.h>#include <pcl/point_types.h> //PCL对各种格...原创 2019-06-14 18:43:37 · 6596 阅读 · 0 评论 -
PCL之法线计算
计算点云的法线,显示~// comnormal.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <string>#include <sstream>#include <pcl/point_types.h>#include <pcl/...原创 2019-06-14 18:47:00 · 1730 阅读 · 1 评论 -
PCL passfilter 使用
pass滤波器的使用#include "stdafx.h"#include <iostream>#include <pcl/point_types.h>#include <pcl/filters/passthrough.h>#include <pcl/visualization/cloud_viewer.h>using nam...原创 2019-06-14 18:50:14 · 609 阅读 · 0 评论