3.4 空间滤波基础 • Images are often corrupted by random variations in intensity, illumination, or have poor contrast and can’t be used directly. • Filtering: transform pixel intensity values to reveal certain image characteristics – Enhancement: improves c…
1. 基本原理 使用元素的领域内像素的平均值代替该元素,可明显的降低图像灰度的尖锐变换.它的一种重要应用是模糊处理:得到感兴趣的区域的粗略表示,将次要的/小的元素与背景融合,使得主要的/较大的元素变得易于检测   $$ R=\frac{1}{m} \sum_{i=1}^{m} z_{i} $$   $m$为滤波器大小 2. 测试结果 图源自skimage 3. 代码 import numpy as np def means_filter(input_image, filter_size): ''…
1. 基本原理 一种典型的非线性滤波器就是中值滤波器,它使用像素的一个领域内的灰度的中值来代替该像素的值.中值滤波器通常是处理椒盐噪声的一种有效的手段. 2. 测试结果 图源自skimage 3. 代码 import numpy as np def median_filter(input_image, filter_size): ''' 中值滤波器 :param input_image: 输入图像 :param filter_size: 滤波器大小 :return: 输出图像 注:此实现滤波器大…
本文链接:https://blog.csdn.net/LYduring/article/details/80443573 一.目的实现算术均值滤波器.几何均值滤波器.中值滤波器.修正的阿尔法均值滤波器.自适应中值滤波器,并比较不同滤波器的降噪结果. 二.代码代码的思路如下: (1)先对原始的电路图先后进行加高斯噪声和椒盐噪声:之后设置滤波器的模板大小为5*5,分别对被噪声污染的图像进行算术均值.几何均值.中值.修正的阿尔法滤波,并输出图像,方便结果比较. (2)为了比较中值滤波器和自适应中值滤波…
导师要求参照别人论文中的图(下图),将其论文中的图画美观些,网上关于科研画图相关的代码比较少,就自己鼓捣了下. 附上自己整合验证过的代码: 功能:将散点连接并平滑 1)Matlab 效果图: x1=[431.50032,759.5552,1335.3736,2530.388] %输入以下三组数据 y1=[34.06366,35.73132,37.2244,38.61294] x2=[263.8656,458.7952,839.6584,1740.9088] y2=[33.5318074,35.1…
kNN是一种常见的监督学习方法.工作机制简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k各训练样本,然后基于这k个“邻居”的信息来进行预测,通常,在分类任务中可使用“投票法”,即选择这k个样本中出现最多的类别标记作为预测结果:在回归任务中可以使用“平均法”,即将这k个样本的实值输出标记的平均值作为预测结果:还可以基于距离远近进行加权平均或加权投票,距离越近的样本权重越大.[1] kNN的伪代码如下:[2] 对未知类别属性的数据集中的每个点依次执行以下操作: (1)计算已知类别数据集…
1. 基本原理 通过一个变换,将输入图像的灰度级转换为`均匀分布`,变换后的灰度级的概率密度函数为 $$P_s(s) = \frac{1}{L-1}$$ 直方图均衡的变换为 $$s = T(r) = (L-1)\int_0^r {P_r(c)} \,{\rm d}c $$ $s$为变换后的灰度级,$r$为变换前的灰度级 $P_r(r)$为变换前的概率密度函数 2. 测试结果 图源自skimage 3.代码 import numpy as np def hist_equalization(inpu…
1. 基本原理 在灰度图中,像素值的范围为[0, 255],即共有256级灰度.在计算机中,我们使用8比特数来表示每一个像素值.因此可以提取出不同比特层面的灰度图.比特层面分层可用于图片压缩:只储存较高比特层(为什么使用较高层,而不是较低层?通过二进制转换,我们知道较高层在数值中的贡献更大):如使用高四位比特层表示原有的八层比特平面. 2. 测试结果 图源自skimage 3. 代码 def extract_bit_layer(input_image, layer_num): ''' 提取比特层…
1. 基本原理 灰度级分层通常用于突出感兴趣的特定灰度范围内的亮度.灰度级分层有两大基本方法. 将感兴趣的灰度范围内的值显示为一个值(比如0),而其他范围的值为另外一个值(255). 将感兴趣的灰度范围内的值显示为一个值(比如0),而其他范围的值不变. 2. 测试结果 图源自skimage 3. 代码 def grayscale_layer(input_image, spotlight_range_min, spotlight_range_max, means): ''' 灰度级分层 :para…
1. 基本原理 对比度拉伸是扩展图像灰度级动态范围的处理.通过在灰度级中确定两个点来控制变换函数的形状.下面是对比度拉伸函数中阈值处理的代码示例,阈值为平均值. 2. 测试结果 图源自skimage 3. 代码 def contrast_stretch(input_image): ''' 对比度拉伸(此实现为阈值处理,阈值为均值) :param input_image: 输入图像 :return: 对比图拉伸后的图像 ''' input_image_cp = np.copy(input_imag…