基于KITTI数据集的无人驾驶感知与传感器融合实现—(6)— Harris角点检测

学习前言

  之前花了点时间把 Harris角点检测的原理和代码写了一篇博客,还不是很了解的同学可以进去看看-> Harris角点检测.
  这篇文章呢就只是针对车道上一些角点的特征的进行检测,所以比较简单,也没什么好修改的,目前这些预处理也一直是跟着原作者在走,不过到了后面特征匹配部分做完后我会写一些我自己修改了的部分,希望对各位有所帮助 ~ 哈哈哈
  老样子,我还是把原作者的项目连接放上面啦~ 连接.在这里插入图片描述

一、Harris角点检测

   Harris角点检测.不了解的同学可以点进去看看,这个我专门单独写的一篇关于Harris角点检测的文章,在上面也提到了。
  至于…会的,我就摆几张图,当作复习和回忆一下吧。
在这里插入图片描述
在这里插入图片描述

二、API介绍

   1) dst = cv.cornerHarris(src, blockSize, ksize, k[, dst[, borderType]])

    API功能:该功能在图像上运行Harris角检测器。

    参数:
      src: 输入单通道8位或浮点图像。
      blockSize:它是考虑进行角点检测的邻域的大小
      ksize:滑动核的大小。
      k:角点响应值R计算公式中的α。
    返回:
      dst: 用于存储哈里斯探测器响应的图像。它的类型为CV_32FC1,大小与src相同。

  2) dst = cv.dilate(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])

    API功能:通过使用特定的结构元素来放大图像。该函数使用指定的结构化元素来扩展源图像,该结构化元素确定在其上获取最大值的像素邻域的形状:
在这里插入图片描述

    该功能支持就地模式。可以进行几次(迭代)扩张。在多通道图像的情况下,每个通道都是独立处理的。

    参数:
      src: 输入图像;通道数可以是任意的,但深度应为CV_8U,CV_16U,CV_16S,CV_32F或CV_64F之一。
      kernel:用于扩张的结构元素;如果elemenat = Mat(),则使用3 x 3的矩形结构元素。
      anchor: 锚在元素内的位置;默认值(-1,-1)表示锚点位于元素中心。
      iterations:进行扩张的次数。
    返回:
      dst: 输出与src大小和类型相同的图像。

三、代码&效果图

import numpy as np
import cv2
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

#读入图片+高斯滤波+灰度
image = mpimg.imread('test_image/0000000086.png')
image = np.copy(image)
Blur = cv2.GaussianBlur(image,ksize=(9,9),sigmaX=2.0)
gray = cv2.cvtColor(Blur,cv2.COLOR_RGB2GRAY)
gray = np.float32(gray)


#角点检测block_size=2, sobel_ksize=3, k=0.04
dst = cv2.cornerHarris(gray,2,3,0.04)
dst = cv2.dilate(dst,None)

#角点响应值R=max*0.05
image[dst > 0.05 * dst.max()] = [0,255,0]

# 可视化结果
f, (ax1, ax2) = plt.subplots(1, 2, figsize=(18, 9))
f.tight_layout()

ax1.imshow(image)
ax1.set_title('image', fontsize=30)

ax2.imshow(dst)
ax2.set_title('dst', fontsize=30)

plt.subplots_adjust(left=0., right=1, top=0.9, bottom=0.)
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fire丶Chicken

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值