图像滤波

卷积核与特征提取

試著忘記壹切 提交于 2020-03-11 19:55:34
原文地址: https://www.cnblogs.com/zongfa/p/9130167.html 线性滤波与卷积的基本概念 线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果。做法很简单。首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像。然后,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。这样就完成了滤波过程。 对图像和滤波矩阵进行逐个元素相乘再求和的操作就相当于将一个二维的函数移动到另一个二维函数的所有位置,这个操作就叫卷积或者协相关。卷积和协相关的差别是,卷积需要先对滤波矩阵进行180的翻转,但如果矩阵是对称的,那么两者就没有什么差别了。 Correlation 和 Convolution可以说是图像处理最基本的操作,但却非常有用。这两个操作有两个非常关键的特点:它们是线性的,而且具有平移不变性shift-invariant。平移不变性指我们在图像的每个位置都执行相同的操作。线性指这个操作是线性的,也就是我们用每个像素的邻域的线性组合来代替这个像素。这两个属性使得这个操作非常简单,因为线性操作是最简单的,然后在所有地方都做同样的操作就更简单了。 实际上,在信号处理领域,卷积有广泛的意义,而且有其严格的数学定义,但在这里不关注这个。

【OpenCV】27 边缘保留滤波算法 – 均值迁移模糊

那年仲夏 提交于 2020-03-11 16:46:01
27 边缘保留滤波算法 – 均值迁移模糊 代码 import cv2 as cv import numpy as np src = cv . imread ( "../images/example.png" ) cv . namedWindow ( "input" , cv . WINDOW_AUTOSIZE ) cv . imshow ( "input" , src ) h , w = src . shape [ : 2 ] dst = cv . pyrMeanShiftFiltering ( src , 15 , 30 , termcrit = ( cv . TERM_CRITERIA_MAX_ITER + cv . TERM_CRITERIA_EPS , 5 , 1 ) ) result = np . zeros ( [ h , w * 2 , 3 ] , dtype = src . dtype ) result [ 0 : h , 0 : w , : ] = src result [ 0 : h , w : 2 * w , : ] = dst cv . imshow ( "result" , result ) cv . waitKey ( 0 ) cv . destroyAllWindows ( ) 实验结果 解释 均值迁移模糊是图像边缘保留滤波算法中一种

数字图像处理(六)图像降噪处理

坚强是说给别人听的谎言 提交于 2020-03-11 12:41:28
1.噪声 1.1噪声分类 噪声是图像干扰的重要原因。一幅图像在实际应用中可能存在各种各样的噪声,这些噪声可能在传输中产生,也可能在量化等处理中产生。 根据噪声和信号的关系可将其分为三种形式:(f(x,y)表示给定原始图像,g(x,y)表示图像信号,n(x,y)表示噪声。) 1)加性噪声,此类噪声与输入图像信号无关,含噪图像可表示为f(x,y)=g(x,y)+ n(x,y),信道噪声及光导摄像管的摄像机扫描图像时产生的噪声就属这类噪声。 2)乘性噪声,此类噪声 与图像信号有关,含噪图像可表示为f(x,y)=g(x,y)+ n(x,y)g(x,y),飞点扫描器扛描图像时的噪声,电视图像中的相干噪声,胶片中的颗粒噪声就属于此类噪声。 3)量化噪声,此类噪声 与输入图像信号无关,是量化过程存在量化误差,再反映到接收端而产生。 1.2椒盐噪声 椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割弓|起。去除脉冲干扰及椒盐噪声最常用的算法是中值滤波。 路面图像属于结构光图像,使用区域分割技术中的阈值分割法消除白噪声及部分椒盐噪声,而不能使用中值滤波对白噪声及椒盐噪声进行滤波,因为滤波模板在图像中漫游时会改变光条中像素的真实灰度分布,给随后的重心法细化过程带来负面影响。 大量的实验研究发现,由摄像机拍摄得到的图像受离散的脉冲

matlab【滤波操作的函数】

旧时模样 提交于 2020-03-09 15:12:59
Matlab中与滤波相关的函数:imfilter 和fspecial。imfilter完成滤波操作,fspecial用于创建一些预定义的二维滤波器供imfilter调用。 imfilter函数: 函数格式:g=imfilter(f, w, option1, option2,…) 参数说明: f是要进行滤波操作的对象; w是滤波操作使用的模板 是一个二维数组; g是滤波后的输出图像; option1、option2是可选项 具体可以包括: (1)边界选项 合法值 含义 X(X代表一个具体的数字) 用固定数值X填充虚拟边界,默认为0 ‘symmetric’ 填充虚拟边界的内容是通过对靠近原图像边缘的像素关于边缘镜像得到 ‘replicate’ 填充虚拟边界的内容总是重复与它最近的边缘像素 ‘circular’ 周期性填充虚拟边界的内容(认为原图像具有周期性) (2)尺寸选择 合法值 含义 ‘same’ 输出图像g与输入图像f尺寸相同 ‘full’ g的尺寸为填充虚拟边界后的f的尺寸,因而大于f的尺寸 (3)模式选项:指滤波过程使用卷积还是相关 合法值 含义 ‘conv’ 滤波过程为卷积 ‘con’ 滤波过程为相关 fspecial创建预定义的二维滤波器 函数格式:h=fspecial(type,parameters) 参数说明: type用于指定滤波器的类型,type的一些合法值如下:

图像卷积、相关以及在MATLAB中的操作

余生长醉 提交于 2020-03-02 09:52:58
图像卷积、相关以及在MATLAB中的操作 2016年7月11日 20:34:35, By ChrisZZ 区分卷积和相关 图像处理中常常需要用一个 滤波器 做 空间滤波 操作。空间滤波操作有时候也被叫做卷积滤波,或者干脆叫卷积(离散的卷积,不是微积分里连续的卷积);滤波器也有很多名字:卷积模版、卷积核、掩模、窗口等。 空间滤波可以分为线性滤波和非线性滤波。非线性滤波常见的有中值滤波、最大值滤波等,相当于自定义一个函数,在数学上由于不满足线性变换因此叫做非线性滤波。这里不细研究它。 线性滤波则通常是:将模版覆盖区域内的元素,以模版中 对应位置 元素为权值,进行累加。看起来挺简单的,但是要区分 相关(cross-correlation) 和 卷积(convolution) 两种模式。为什么呢?因为在MATLAB里是有所区分的,而且不少中文书里面把它们混淆了。 我们最容易的理解是:将模版中元素从左到右、从上到下,作为使用顺序,那么卷积操作的结果,就是模版第一个元素乘以它覆盖的元素,加上模版第二个元素乘以它覆盖的元素,再加上模版第三个元素乘以它覆盖的元素,...,一直加到模版最后一个元素乘以它覆盖的元素。好吧,其实就是:模版覆盖区域内,元素逐一相乘然后累加,此时的对应位置就是上下投影后被覆盖的位置。 上面这个理解确实是看起来最容易理解的,因而很多中文书把它叫做"卷积"。然而这个概念其实叫做

Matlab图像处理教程系列之图像分割

牧云@^-^@ 提交于 2020-02-17 20:00:06
1. 点检测 g = abs(imfilter(tofloat(f), w)) >= T; f 是输入图像,w 是适合点检测的模板: ,g 是包含检测点的图像。imfilter 把输出转换为输入所属的类,如果输入是整数类,并且 abs 操作不接受整数数据,那么在滤波操作中用 tofloat(f)来防止对数值的过早截取。输出图像 g 是 logical 类;值是 0 和 1。如果 T 值没有给出,那么通常基于滤波结果来选取。在那种情况下,先前的一串指令分成三个基本步骤:1) 计算滤波后的图像 abs(imfilter(tofloat(f),w));2) 从滤波后的图像的数据中找出 T 的值;3) 把滤波后的图像与T做比较。 2.线检测 g = imfilter(tofloat(f), w); 其中w为线检测模板: 如果图中的第一个模板在图像上移动,就会对水平线(一个像素宽)的响应更强烈。对于恒定的背景,当线通过模板的中间一行时可能产生更大的响应。同样,图 中的第 2 个模板对+45°线响应最好,第 3 个模板对垂直线响应最好,第 4 个模板对 –45°线响应最好。注意,每个模板的优先方向都用比其他可能方向要大的系数加权。每个模板的系数之和为 0,这表明在恒定亮度区域中,模板的响应为 0。若每方向模板都应用于同一图像,其中一方向模板在图像中心点响应比其他模板在图像中心点响应都大

【opencv学习笔记】010之图像非线性滤波原理与操作(中值滤波、双边滤波)

冷暖自知 提交于 2020-02-17 06:33:03
一、前言 着实好久没有写博客了,回来填坑,不过opencv4已经出来很久了,我的教程还在3徘徊。作为基础完全够用了,先把基础的坑填完吧,确实是很纠结自己的研究方向,不知道,还是多学吧,想太多,不如好好学。 如果想看其他有关于OpenCV学习方法介绍、学习教程、代码实战、常见报错及解决方案等相关内容,可以直接看我的OpenCV分类: 【OpenCV系列】:https://blog.csdn.net/shuiyixin/article/category/7581855 如果你想了解更多有关于计算机视觉、OpenCV、机器学习、深度学习等相关技术的内容,想与更多大佬一起沟通,那就扫描下方二维码加入我们吧! 二、线性滤波与非线性滤波 1、回顾 1.分类 上节课我么讲到线型滤波和非线性滤波,我们讲了三种重要的线性滤波。也提到两种非线性滤波。常用的线性与非线性滤波如下: (1)线性滤波 :方框滤波、均值滤波、高斯滤波; (2)非线性滤波 :中值滤波、双边滤波 2.线性滤波器的分类 上节课我们也讲到线性滤波器的分类,线性滤波器经常用于剔除输入信号中不想要的频率或者从许多频率中选择一个想要的频率。几种常见的线性滤波器如下: (1)低通滤波器:允许低频率的波通过。 (2)高通滤波器:允许高频率的波通过的。 (3)带通滤波器:允许一定范围频率的波通过。 (4)带阻滤波器

OpenCV3入门(六)图像滤波

只谈情不闲聊 提交于 2020-02-13 23:44:41
1 、图像滤波理论 1.1 图像滤波理论 图像滤波即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作。消除图像中的噪声又叫做图像滤波或平滑,滤波的目的有两个,一是突出特征以方便处理,二是抑制噪声。 空间域滤波就是在图像平面上对像素进行操作。空间域滤波大体分为两类:平滑、锐化。 平滑滤波:模糊处理,用于减小噪声,实际上是低通滤波,典型的滤波器是高斯滤波。 锐化滤波:提取边缘突出边缘及细节、弥补平滑滤波造成的边缘模糊。实际上是高通滤波。 空间域处理可由下式表示: g(x,y)=T[f(x,y)] 式中,f(x,y)是输入图像,g(x,y)是处理后的图像,T是在点(x,y)的邻域上定义的关于f的一种算子,算子可应用于单幅图像或图像集合。 1.2 邻域滤波算子 1)空间滤波器由一个邻域(通常是一个较小的矩形)和对该邻域所包围图像像素执行的预定义操作组成。对预定义的点(x,y)为中心的领域内的像素进行计算。 2)滤波产生一个新像素,用计算后的新像素值代替点(x,y)的值。 3)循环步骤1和2,滤波器的中心遍历图像中的每个像素后,就生成了滤波后的图像。 4)如果在图像像素上执行的是线性操作,则该滤波器称为线性空间滤波器,否则,称为非线性空间滤波器。 一般来说,使用大小为 m×n的滤波器对大小为 M×N的图像进行线性空间滤波,可由下式表示: 2 、OpenCV

Butterworth低通滤波器 Matlab实现

随声附和 提交于 2020-02-11 01:16:58
1. 数字信号滤波 参考自: https://blog.csdn.net/colapin/article/details/52840075 >> clear all; close all; >> Signal = textread('呼吸十进制数据.txt'); % 读取原始数据,这里是 n * 1 的数据 >> Wc = 2 * 0.8 / 32; % 0.8--截止频率, 32--采样频率 >> [b, a] = butter(4, Wc); % 4--阶数 >> Signal_Filter = filter(b, a, Signal); % 滤波 >> subplot(2, 1, 1); >> plot(Signal); >> title('原始图像'); >> subplot(2,1,2); >> plot(Signal_Filter); >> title('巴特沃斯低通滤波后图像'); 示例: (为什么滤完波前几个数是零??) 2. 数字图像滤波 来源: CSDN 作者: 什么珂 链接: https://blog.csdn.net/qq_34915398/article/details/104246247

目标跟踪综述

情到浓时终转凉″ 提交于 2020-02-09 20:01:48
文章目录 目标跟踪 入门基础 介绍 研究 算法 现有目标跟踪方法简介 基于生成式模型的方法 基于判别式模型的方法 基于深度学习的方法 适用于目标跟踪的深度学习模型 深度判别式模型 深度生成式模型 其他深度学习模型 基于深度学习的目标跟踪方法 按网络结构分类 按网络功能分类 按照网络训练分类 其他深度目标跟踪算法 基于分类与回归相融合的深度目标跟踪方法 基于强化学习的深度目标跟踪方法 基于集成学习的深度目标跟踪方法 基于元学习的深度目标跟踪方法 数据库与评价标准 适用于深度学习目标跟踪的视频数据库 适用于深度学习目标跟踪的评价标准 应用实例介绍 目标跟踪 入门基础 介绍 目标跟踪是计算机视觉领域的一个重要分支,是模式识别,图像处理,计算机视觉,机器学习等学科的交叉研究,有着广泛的应用,如视频监控,虚拟现实,人机交互,图像理解,无人驾驶等 目前的目标跟踪的通常任务是 ,在视频的第一帧给定一个目标的矩形框,然后后续这个矩形框紧跟着要跟踪的物体。不过,目标跟踪与计算机视觉中的图像识别,分割,检测是分不开的,通常跟踪是这些分割检测的最后一步 研究 目标跟踪方向的论文可以关注计算机视觉的三大顶会 CVPR (Computer Vision and Pattern Recognition) ICCV (International Conference on Computer Vision)