Folders and files Name Name Last commit message
Last commit date
parent directory
View all files
使用opencv自带的直方图绘图函数cv::calcHist()
源代码位置:DrawHistogram/
运行方法:修改main.cpp
中的点云文件路径以及存储路径前缀,运行后将会直接显示两个直方图,并且存储在DrawHistogram/Histogram
下
对于单帧的点云数据进行地面点集的分离,算法参考A Fast Ground Segmentation Method for 3D Point Cloud
点云的可视化使用opencv的viz
模块,需要QT
,VTK
的依赖,编译opencv的时候需要打开编译viz
模块的开关
分离算法接口说明:
void preprocess(vector<Vector3d>& points,vector<vector<Vector3d> >& sortedpoints)
- 函数说明:点云数据预处理,主要是对点云数据分类,排序
- 第一个参数:读入的点云原数据
- 第二个参数:处理好的点云数据
void SeperateGroundPoints(vector<vector<Vector3d> >& sortedpoints,vector<Vector3d>& ground,vector<Vector3d>& nonground,double alphamax,double missmax,double hmin)
- 函数说明:地面点集分离算法
- 第一个参数:预处理的有序点集
- 第二三个参数:地面点集和非地面点集
- 后三个参数:算法中需要调整的阈值,推荐参数为(PI/4, 0.1, 0.1)
源代码位置:PointCloud/
运行方法:修改main.cpp
中的点云文件路径,如果环境满足上述要求,直接运行将会弹出点云可视化窗口,其中地面点集为红色,其他的为绿色;若环境不满足要求,则可以按照上述要求使用算法接口进行验证;运行效果图存储在PointCloud/Result
文件夹下
使用公式GRAY = (R*30 + G*59 + B*11 + 50) / 100
来计算灰度
源代码位置:RGB2Gray/
运行方法:修改main.cpp
中的图片路径以及存储路径前缀,运行后将会显示出转化为灰度的图片,并且存储在RGB2Gray/Converted
下
先通过mask
将图中除了白色的部分全部处理成黑色,然后将图片转灰度,使用Canny
方法标记边缘,使用Hough
方法识别出直线,通过分左右两类,取平均,画出两条直线标记出Lane
源代码位置:LaneDetect/
运行方法:替换图片路径,直接运行,将会按照图片顺序一次显示所有图片的处理结果
You can’t perform that action at this time.