OpenCV每日函数 图像过滤模块 (11) getGaussianKernel计算高斯卷积核函数

198 篇文章 5 订阅 ¥49.90 ¥99.00

一、概述

        该函数返回高斯滤波器系数。

        该函数计算并返回 ksize×1 的高斯滤波器系数矩阵:

        其中i=0...ksize-1\alpha 是选择的比例因子,因此 \sum _iG_i=1。可以将两个这样的生成内核传递给 sepFilter2D。 这些函数会自动识别平滑内核(权重总和等于 1 的对称内核)并相应地处理它们。 您也可以使用更高级别的 GaussianBlur。

高斯核在每张 10 马克的德国钞票上都很明显,在他 55 岁时,它被描绘在其著名发明家旁边。现在欧元替代了马克

        高斯核在 1-D、2D 和 N-D 中分别定义为

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1、实验内容 本实验使用数字图像处理的基本方法,构建了一个车道线检测模型。该模型可以识别图像中所有的车道线,并得到完整的车道线信息。模型在tuSimple Lane Dataset大小为100的数据子集进行了测试,达到了较好的结果。 2、实现思路 实现车道线检测,主要包含两部分操作 1. 道路图像的处理,主要包括灰度图转换、基于高斯平滑的图像去噪、基于Canny算法的边缘提取 2. 车道线检测方法,主要包括获取感兴趣区域(ROI)、形态学闭运算、基于Hough变换的直线检测 模型的处理流程如下, <img src="./result/image_of_readme/img.png" alt="image-20210214120515919" style="zoom:80%;" /> # 2.1 道路图像处理 通过对道路图像进行处理,突出图像中的车道线部分。模型将彩色图像转化成灰度图像进行处理,目的是简化模型的复杂度,提高运行效率。 ## 2.1.1 高斯平滑 由于光照、路面情况、拍摄质量等问题,道路图像上存在很多噪声,通过高斯滤波使图像变得平滑,减弱图像中的噪声对结果的影响,提高车道线检测模型的鲁棒性。 高斯平滑就是使用高斯滤波器与原图像进行卷积,得到平滑图像。与均值滤波类似,它们都是取滤波器窗口内像素的加权均值作为输出。高斯滤波器的权值分布满足二维高斯函数 一开始选择的更新聚类中心的方法,是取同一类别的平均值,效果不佳。经过尝试最后采用取每个类别的初始值为中心点,实现较好的效果。示例如下: ![聚类方法对比](./result/image_of_readme/update_cmp.png) 评测结果对比: | 中心点 | Accuracy | FP | FN | | ---------- | -------- | ------ | ------ | | 数据均值 | 0.5740 | 0.7058 | 0.7533 | | 聚类初始值 | 0.7539 | 0.5025 | 0.5242 | 分析原因:由于车道线有一定弧度,导致前半部分和后半部分的车道线参数差距较大。如果降低判定相似的标准,就会导致本不相似的直线求均值,从而使Accuracy较低;如果提高相似的标准就会,导致聚类得到类别很多,从而FP较大;因此采用加权均值更新聚类中心点并不理想。 按照车道线聚类结果中每个类别的大小,对聚类结果进行排序,选择所有聚类结果中规模最大的4个类作为最终确定的直线参数。 实验总结及改进 实验过程中尝试了很多方案,如采用形态学运算,提高车道线的完整性;通过阈值分割,去除背景和干扰物;采用均值作为聚类中心等。由于方案设计上的主观缺陷和检测任务的存在的光照不均、环境复杂等客观因素,以上方案均被舍弃。最终经过实践得到了一种鲁棒性较好,效果较优的车道线检测方案。 通过查阅相关资料,我了解到更多车道线检测的改进算法,例如可以通过最大类间方差法(OTSU)进行阈值分割、动态ROI区域等。可以通过以上算法进一步提高模型精度和性能。 运行方法 1. **编译**(Windows 10): * cmake version 3.19.3 * GNU Make version 4.2.1 * OpenCV version 4.5.1 在 powershell 中执行以下命令: (1)生成 debug 版本: ```shell mkdir debug # 创建编译目录 cd debug cmake -G "MinGW Makefiles" .. # 生成 Makefile mingw32-make # 使用 MinGW 编译代码 ``` (2)生成 release 版本 ```shell mkdir release cd release cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release .. mingw32-make ``` 2. **运行** > 在 debug / release 目录中双击 lane_detection.exe 即可运行 3. **测评** ```shell cd .. python evaluate.py ./result/predict.json ./data/groundtruth.json ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

坐望云起

如果觉得有用,请不吝打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值