2021-7-21的时候博主已经写过部分点云去噪的介绍及部分滤波matlab写法,在新开的博客中补充博主在写双边滤波时的想法,21号的贴子链接:

2021-7-21-点云去噪(中值、高斯、均值、SOR滤波),及matlab的代码撰写_~追风筝的猫的博客-CSDN博客


双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、局部的特点。双边滤波器的好处是可以做边缘保存。

将双边滤波应用到点云中,其算法流程如下:

%% 双边滤波clear all%% 生成带噪声的点云
gv = 0:0.01:1;
[X,Y] = meshgrid(gv,gv);
% X(:)的意思是把矩阵转换为一行
p = [X(:),Y(:),0.5*ones(numel(X),1)];
% 生成噪声,随机生成500个噪声点
noise = rand(500, 3);
% 合并,p的矩阵为n*3
p = [p;noise];
clear X Y noise gv
% pcshow(p)%% 计算法向量
% r半径搜索,单位m
r = 1;
% 搜索得到全部的r内临近点
[idx,d] = rangesearch(p,p,r,'Distance','euclidean','NSMethod','kdtree'); % 可以通过pcnormals实现法向量的提取,这个是matlab2019b函数自带的法向量计算函数
% p = pointCloud(p); % p需要先转换成matlab读取的格式
% vec = pcnormals(p); % 这样就可以计算法向量,是通过最邻近点计算的,默认是8个临近点
% p = p.Location; % p还原数组格式% Reig为按照圆搜索邻近点计算法向量,博主自写的函数。
[~,~,~,~,~,vec] = Reig(p, r);% 权重因子
% sum_w = 0;
% sum_pr = 0;
% pd为每个点到其邻近点的影响因子
pd = r;
% 每个点到临近点法式的影响因子
% pn = 0.5;
% 循环计算每个点的权重
for i = 1:length(p(:,1))% 权重因子sum_w = 0;sum_pr = 0;% 提取当前点a = p(i,:);% 得到当前点r范围内的点curp = idx(i,:);% cell转换为数组matcurp = cell2mat(curp);% 第一个索引是自己,所以去除curp = curp(:,2:end);% 求取临近点距离标准差didx = d(i,:);didx = cell2mat(didx);didx = didx(:,2:end);pn = std(didx);% 搜索索引点idxpoint = p(curp,:);% 循环领域内的点for j = 1:length(curp)% 领域点的当前点b = idxpoint(j,:);% 空间权重之一dd = norm(b-a);% 空间权重之二dn = dot(b-a,vec(i,:));%w = exp(-dd^2/(2*pd^2))*exp(-dn^2/(2*pn^2));%sum_pr = sum_pr + w * dn;%sum_w = sum_w + w;endqp = sum_pr/sum_w;p1(i,:) = p(i,:) + qp * vec(i,:);
end% qp = sum_pr/sum_w;
% % 平滑数据处理
% for i = 1:length(p(:,1))
%     p1(i,:) = p(i,:) + qp * vec(i,:);
% end
pcshow(p1)

下图是生成的带噪声的数据:

经过双边滤波过后:

似乎效果不太好??或许是某一个步骤写错了?难以得到验证

也有可能是因为双边滤波也是平滑数据,而不是去除噪声点。

在代码中有Reig函数,是通过圆的范围计算特征值的,可以根据博主以下的代码进行改进:

Matlab计算点云法向量和曲率-2021-11-21_~追风筝的猫的博客-CSDN博客_matlab点云求法向量

用matlab写出来运行要很久来着,这是由于在matlab中写了双循环,循环全部的点,循环临近点。

后续博主出完部分特征计算的教程后,再整理双边滤波成function上传。

点云去噪-双边滤波-matlab实现-2021-7-26-相关推荐

  1. 双边滤波原理与参数的理解+双边滤波matlab实现

    基本思路 高斯滤波是一种常用而且简单的降噪算法.但其缺点也很明显,就是会不加区分地将噪声与图像边缘等细节一起平滑处理. 而双边滤波是基于高斯滤波进行改进的方法.在高斯滤波的基础上,双边滤波引入了像素值 ...

  2. 双边滤波Matlab实现The Bilateral Filter

    原文:http://blog.csdn.net/lifeitengup/article/details/8902326#comments 双边滤波与一般的高斯滤波的不同就是:双边滤波既利用了位置信息& ...

  3. 点云去噪(中值、高斯、均值、SOR滤波),及matlab的代码撰写-2021-7-21-

    1 为什么点云会有噪声? 受到仪器.周围环境.被扫描目标本身的特性影响,点云数据中无法避免存在一些噪声.噪声的来源有很多,比如超过扫描设定范围的点:由于受到周围的风.周围物体的震动等影响产生的点:或者 ...

  4. 双边滤波去噪matlab代码,双边滤波器原理及其matlab实现

    之前做过图像细节增强方面的工作,处理的是红外灰度14bit图像,图像信号由14bit AD量化后,再经FPGA处理得到,使用非锐化掩模的方法,先用双边滤波器(BF)对原图像进行滤波得到低频部分,原图和 ...

  5. matlab双边滤波处理点云,常见点云滤波算法

    姓名:张志文 学号:19021210649 [嵌牛观察] 目前点云处理的算法十分的多,不同的滤波算法有着不同的应用方向 [嵌牛鼻子] 点云:滤波 [嵌牛提问] 常见的点云滤波算法有哪些? [嵌牛正文] ...

  6. matlab soble滤波,MATLAB 图像滤波去噪分析及其应用

    MATLAB 图像滤波去噪分析及其应用 第1章 图像颜色空间相互转换与MATLAB实现 1.1 图像颜色空间原理 1.1.1 RGB颜色空间 1.1.2 YCbCr颜色空间 1.1.3 YUV颜色空间 ...

  7. 【图像去噪】基于matlab高斯+均值+中值+双边滤波图像去噪【含Matlab源码 1872期】

    ⛄一.高斯+均值+中值+双边滤波图像去噪简介 1 数字图像去噪技术简述 1.1 研究背景及目的 图像是人类认识世界的第一视角,我们可以通过图像获得比较真实的信息和直观的结果.但实际上,在产生和传输过程 ...

  8. 高斯滤波与双边滤波原理、MATLAB实现及结果对照

    本文详细介绍高斯滤波和双边滤波的原理并给出MATLAB实现,最后对照高斯滤波与双边滤波的效果. 目录 一.滤波原理 1.1 一维高斯分布 1.2 二维高斯分布 1.3 高斯滤波总结 二.双边滤波 1. ...

  9. Open3D法线双边滤波, 利用法向信息提高点云滤波效果

    Open3D法线双边滤波, 利用法向信息提高点云滤波效果 Open3D是一个面向3D数据处理的开源库,其中内置了许多点云滤波算法,包括基于法线的双边滤波.法线双边滤波是一种基于点云法向信息的滤波算法, ...

最新文章

  1. 你的模型够可靠么?关键词掩码的模型可靠性提升方法探索
  2. HttpClient, 使用C#操作Web
  3. 计算机二级vf笔试,计算机二级(VF)笔试120.doc
  4. Linux中实用但很小众的11个炫酷终端命令
  5. P2183 [国家集训队]礼物(扩展卢卡斯)
  6. 【API进阶之路】用API打造一条自动化内容生产流水线
  7. 2021 ICPC全国邀请赛(西安)太原理工大学收获3枚奖牌
  8. Kotlin基础学习第5章—表达式
  9. react native 升级到0.31.0的相关问题 mac Android Studio开发环境
  10. 离散数学与计算机的发展,计算机学科发展中离散数学的作用与运用
  11. weblogic下载、安装、配置
  12. MT4 CRM 源码
  13. PPT文件太大?如何压缩PPT?这几招帮你搞定
  14. ☆【平衡二叉树】魔兽争霸
  15. 视频目标分割数据集DAVIS(Denly-Annotated VIdeo Segmentation)解读
  16. 凯文·凯利:最伟大的产品还没有被创造出来
  17. 编程小技巧之 Linux 文本处理命令(二)
  18. 首家希尔顿逸林酒店及公寓于深圳启幕
  19. html加载背景图片
  20. java项目中表格导入找到最近父类生成树形结构

热门文章

  1. 美国亚马逊有望联姻顺丰 直邮商品7天到中国
  2. 风火编程--正则表达式应用
  3. 江苏计算机等级考试vfp,备考江苏省计算机等级考试(二级VFP)策略
  4. android wifi热点的连接不上,开启热点后160wifi连不上手机的解决方法汇总
  5. Java Apache中的高危漏洞复现
  6. vue实现图片裁剪后上传
  7. Teleport 简易堡垒机系统
  8. 资本押注云原生数据库,偶数完成B轮融资
  9. 最新版Maven3.6.3下载与安装
  10. 计算机科学与应用有哪些课,计算机专业有哪些课程?