地裂缝提取学习笔记之三维转二维

2图像分割预处理——K-means 算法
K-means算法是一种以距离为基准的聚类算法,它相似程度的评价指标是距离,也就是
说如果两个研究对象的距离越近,它们的相似程度就越大;反之,则越小。K-means算法
"利用了函数求极值的方法来得到迭代运算的调整准则,它的相似度测度是欧氏距离,它采
用误差平方和准则函数作为聚类的准则函数。假设要把一个有n个元素的样本分为m个类
,m<n,K-means算法描述如下:

/*
// CloudToDepth.cpp : Defines the entry point for the console application.
//

//#include “stdafx.h”
#pragma comment(lib,“User32.lib”)
#include <tchar.h> 
#include <boost/thread/thread.hpp>
#include <pcl\visualization\pcl_plotter.h>
#include <pcl/common/common_headers.h>
#include <pcl/range_image/range_image.h>
#include <pcl/io/pcd_io.h>
#include <pcl/io/png_io.h>

#include <pcl/io/obj_io.h>
#include <pcl/visualization/range_image_visualizer.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/visualization/common/float_image_utils.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/filters/radius_outlier_removal.h>
#include <pcl/filters/statistical_outlier_removal.h>
#include <pcl/filters/conditional_removal.h>
#include <pcl/common/common.h>
#include <pcl/io/io.h>
#include <pcl/console/parse.h>
#include <pcl/range_image/range_image_planar.h>

typedef pcl::PointXYZ PointType;
//void displayCloudImage(const pcl::PointCloudpcl::PointXYZ::ConstPtr &points);
//void setViewerPose(pcl::visualization::PCLVisualizer& viewer, const Eigen::Affine3f& viewer_pose);

//定义参数
float angular_resolution_x = 0.3f;
float angular_resolution_y = angular_resolution_x;
float angularResolution = (float)(1.0f * (M_PI / 180.0f));//角分辨率是1度,也就是说由相邻像素表示的光束相差一弧度
float maxAngleWidth = (float)(360.0f * (M_PI / 180.0f));
float maxAngleHeight = (float)(180.0f * (M_PI / 180.0f));//模拟的范围传感器有一个完整的360度全景图
Eigen::Affine3f sensorPose = (Eigen::Affine3f)Eigen::Translation3f(0.0f, 0.0f, 0.0f);//传感器的位置定义了虚拟传感器的6 DOF位置,它的原点是滚动=俯仰=偏航=0。
pcl::RangeImage::CoordinateFrame coordinate_frame = pcl::RangeImage::CAMERA_FRAME;//x朝向右,y向下,z轴是向前的,另一种选择是激光框架,x面向前方,y向左,z向上。
float noiseLevel = 0.00;//对于噪声,噪声是0,范围图像是使用普通的z缓冲区创建的
float minRange = 0.0f;// minRange >0 ,所有更近的点都将被忽略
int borderSize = 0;//边界大小>0,边界将会在裁剪时留下一个未被观察到的点的边界。

int _tmain(int argc, _TCHAR* argv[])
{

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值