户型图

复杂户型图处理 ― 20180724-20180726

匿名 (未验证) 提交于 2019-12-02 22:56:40
原图: 基于外轮廓统计墙体特征提取出的结果: 1、基于每个连通域的像素个数可以过滤掉部分干扰物体,仅留下墙体 imgFilter(Mat &src, Mat &dst,int num) 2、提取canny边缘并进行校正 Canny(imgWall, imgCanny, 80, 110, 3); 3、提取墙体中线(黑色) wall_skeleton(Mat&mask, vector<Vec4i>&lines_x, vector<Vec4i>&lines_y, vector<Vec4i>&walls_x, vector<Vec4i>&walls_y) 4、合并重合的线段、调整相邻线段到同一水平或竖直位置 lines_single(Mat &src, vector<Vec4i>&lines) linesMerge(vector<Vec4i>&lines, int thresh) 5、搜索延长应该延长的线段 linesExtend(Mat &img, vector<Vec4i>&lines) 6、删除两端都悬空的线段和伸出的短的边角 linesSplit1(Mat &img, vector<Vec4i> &lines, vector<Vec4i> &lines1, int len) 7、根据伸出的线段找到门窗线 find_windoor(Mat &img, vector<Vec4i>