IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> opencv之非线性滤波 -> 正文阅读

[人工智能]opencv之非线性滤波

中值滤波:

? ? ? ? 用像素点邻域灰度值的中值来替代该像素点的灰度值,该方法在去除脉冲噪声、椒盐噪声的同时会保留图像的边缘细节。中值滤波在处理连续图像窗函数时与线性滤波器的工作方式类似,但滤波过程不在是加权运算。

与均值滤波对比:

? ? ? ? 优点:均值滤波器中,由于噪声成分被放入平均计算中,所以输出受到了噪声的影响。但在中值滤波器中,由于噪声成分很难选上,所以几乎不会影响到输出。

? ? ? ? 缺点:中值滤波花费的时间是均值滤波的5倍以上。

具体步骤:

? ? ? ? 例如3*3的函数,计算点 [ i, j ] 为中心的函数窗像素中值。

? ? ? ? 第一步:按强度大小排列像素点;

? ? ? ? 第二步:选择排序像素集的中间值作为点 [ i, j ] 的新值

void cv::medianBlur(InputArraysrc,
OutputArraydst,
int?ksize?//奇数
)

案例:

#include<iostream>
#include<opencv2/imgproc.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/core.hpp>
using namespace std;
using namespace cv;


int main()
{

 //导入图像
 Mat src = imread("C:/Users/Administrator/Desktop/3.png");
 if (!src.data)
 {
  cout << "请检查图像是否存在..." << endl;
  return -1;
 }
 namedWindow("src");
 namedWindow("dst");
 imshow("src", src);
 //中值滤波
 Mat dst;
 medianBlur(src, dst, 7);
 imshow("dst", dst);

 waitKey(0);
 return 0;
}

结果展示:

?

边滤波:

? ? ? ? 它是结合图像空间邻近度和像素值相似度的一种折中处理方式,同时考虑了空间域信息和灰度相似性,达到保留边缘去除噪点的目的。

? ? ? ? 在双边滤波中输出像素值取决于邻域像素值的加权值组合:

? ? ? ? 而加权系数w(i,j,k,l)取决于定义域核和值域核的乘积。

? ? ? ? 其中定义域核为:

? ? ? ? 值域核为:

?

? ? ? ? 二者相乘后,就会得到取决于数据的双边滤波权重函数

void cv::bilateralFilter(InputArraysrc,
OutputArraydst,
int?d,? //过滤中每个像素邻域的直径,若为非正数,从第五个参数开始计算
double?sigmaColor,? //值越大,表明该像素邻域内有越宽泛的颜色被混合到一起。
double?sigmaSpace,//坐标空间的标准方差,值越大,越远的像素会互相影响
int?borderType?=?BORDER_DEFAULT?
)

?案例:

#include<iostream>
#include<opencv2/imgproc.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/core.hpp>
using namespace std;
using namespace cv;


int main()
{

 //导入图像
 Mat src = imread("C:/Users/Administrator/Desktop/3.png");
 if (!src.data)
 {
  cout << "请检查图像是否存在..." << endl;
  return -1;
 }
 namedWindow("src");
 namedWindow("dst");
 imshow("src", src);
 //中值滤波
 Mat dst;
 bilateralFilter(src,dst,50,50*2,50/2);
 imshow("dst", dst);

 waitKey(0);
 return 0;
}

结果展示:

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 13:48:54  更:2021-12-08 13:51:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 1:29:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码