matlab图像标记交点,【图像处理】提取图片中的交点数据

1. 前言

前两天老板突然给了一幅图像数据, 让我提取出其中的交点信息, 图片是这样的:

0818b9ca8b590ca3270a3433284dd417.png

由于图像数据实在太大,就传了一张截图上来~~

2. 处理思路

2.1 基本需求

我们的需求实际上就是, 提取图像中黑色线段相交的部分(简单来说就是相交的点)

2.2 基本思路

检测图像中的黑色直线部分, 根据hough变换提取出相应的直线方程, 根据直线方程求出他们的交点, 即为我们所需要的点。由于处理的时候, 存在一定误差, 所以一般可以分为两个步骤, 先粗略的寻找一个交点, 然后对他的周围进行搜素即可。

2.3 基本流程

2.3.1 降采样

由于图像数据太大, 处理起来特别占用内存空间, 这里对他进行降采样处理,但是图像整体的形貌还是保持不变

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

2.3.2 二值化处理

因为我们需要提取的是板块交接处的黑线, 这部分的灰度值和其他部分的差别是比较明显的, 因而我们可以找到一个阈值, 将这部分分离出来,效果如下:

0818b9ca8b590ca3270a3433284dd417.png

2.3.3 canny 检测边缘

2.3.4 hough变换检测直线

在对图像进行边缘提取之后, 我们可以使用累计概率版本的hough变换获取图像中的直线数据

0818b9ca8b590ca3270a3433284dd417.png

2.3.5 直线合并

我们看到通过hough变换得到的直线的数量是非常多的,从物理角度我们可以认为相互贴合的直线实际上是一条

0818b9ca8b590ca3270a3433284dd417.png

2.3.6 求直线的交点

对我们提取得到的直线数据两两求他们的交点

0818b9ca8b590ca3270a3433284dd417.png

2.3.7 合并相近的交点

可以非常容易的发现, 空间中间隔非常近的点, 在物理空间中实际上是一个点

0818b9ca8b590ca3270a3433284dd417.png

2.3.8 初始匹配结果

0818b9ca8b590ca3270a3433284dd417.png

2.3.9 ROI 区域操作 (以第一个ROI区域为例)

2.3.9.1 ROI

0818b9ca8b590ca3270a3433284dd417.png

2.3.9.2 二值化

0818b9ca8b590ca3270a3433284dd417.png

2.3.9.3 边缘检测

0818b9ca8b590ca3270a3433284dd417.png

2.3.9.4 直线检测

0818b9ca8b590ca3270a3433284dd417.png

2.3.9.5 直线去重

0818b9ca8b590ca3270a3433284dd417.png

2.3.9.6 交点数据

0818b9ca8b590ca3270a3433284dd417.png

2.3.9.7 交点去重

0818b9ca8b590ca3270a3433284dd417.png

2.3.10 实现效果

0818b9ca8b590ca3270a3433284dd417.png

3. 工程地址

4. 遇到的一些问题及参考资料

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值