视频转图片
12/15 ~12/25
从一个小程序开始了实习生生活;
要注意路径符号;
#include <ros/ros.h>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main(){
VideoCapture cap("...avi"); //读入视频
Mat img;
char image[20];
int i = 0;
while (cap.read(img))
{
//保存路径
sprintf(image, "%s%s%d%s", "...", "IMG_HX10_00",i++, ".jpg");
imwrite(image, img);
}
}
## 基于深度图像的分割聚类
-
算法原理
OA、 OB分别为激光雷达的两道光束,O为激光雷达原点,过A、B做一条直线,以较长光束为Y轴;设定一个阈值k,比较β和k的大小,如果β>k,则激光点A、B不属于同一物体; -
官方代码复现
下载googletest,然后将CmakeLists.txt改为如下所示
IF(IS_DIRECTORY "/usr/src/googletest/googletest/")
MESSAGE(STATUS "Found google test sources in /usr/src/googletest/googletest/")
# ADD_SUBDIRECTORY( /usr/src/googletest/googletest/ gtest)
官方示例结果:
- 线束不同时,官方代码聚类检测结果一团乱麻;地面分割采用另外一种算法,虽然实时性没有基于图那么快,但经过滤波后也还行;作者在聚类分割中采用4邻阈的 BFS 搜索,速度很快;
分割聚类效果:
4.根据点云索引,可以找到分割的一个个小的聚类,通过三位坐标的计算,画出包围盒,以及给出pose;