图像滤波

ceshi

荒凉一梦 提交于 2019-11-30 12:08:49
\documentclass[12pt]{article}%{ctexart} \usepackage{ctex} \usepackage{amsmath} \usepackage{amssymb} \usepackage{amsfonts} \usepackage{changepage} \usepackage{graphicx} \usepackage{url} %\usepackage{setspace} \title{一周进展报告} \author{杨拓} \date{\today} \setlength{\parskip}{0.5\baselineskip} \begin{document} \maketitle %生成文档目录 \tableofcontents %构建各章节的一级小结 \pagebreak \section{SIFT} \subsection{SIFT简介\cite{2}} \textbf{尺度不变特征转换(Scale-invariant feature transform或SIFT)},由David Lowe于1999年首次提出,作用是将一幅图像映射为一个局部特征向量集;特征向量具有平移、缩放、旋转不变性,同时对光照变化、仿射及投影变换也有一定的不变性。 \begin{adjustwidth}{1cm}{1cm} SIFT算法的特点有:~\\ 1

SIFT

我是研究僧i 提交于 2019-11-30 12:07:58
\section{SIFT} \subsection{SIFT简介\cite{2}} \textbf{尺度不变特征转换(Scale-invariant feature transform或SIFT)},由David Lowe于1999年首次提出,作用是将一幅图像映射为一个局部特征向量集;特征向量具有平移、缩放、旋转不变性,同时对光照变化、仿射及投影变换也有一定的不变性。 \begin{adjustwidth}{1cm}{1cm} SIFT算法的特点有:~\\ 1.SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;\\ 2.独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;\\ 3.多量性,即使少数的几个物体也可以产生大量的特征向量;\\ 4.高速性,经优化的匹配算法甚至可以达到实时的要求;\\ 5.可扩展性,可以很方便的与其他形式的特征向量进行联合。 \end{adjustwidth} \begin{adjustwidth}{1cm}{1cm} SIFT算法的基本步骤为:~\\ 1.高斯差分(DoG)滤波;\\ 2.尺度空间的极值检测和关键点位置确定;\\ 3.关键点方向确定;\\ 4.构建关键点特征描述符; \end{adjustwidth}

Opencv图像滤波原理

筅森魡賤 提交于 2019-11-29 09:38:41
图像滤波原理 高斯滤波 先看原图 在opencv里调用API如下 原理代码 欢迎一起来参与leetcode刷题项目 高斯滤波 二维情况下的高斯滤波分布 1 2 π σ x σ y exp ⁡ − ( x − u ) 2 + ( y − v ) 2 2 σ x σ y \frac{1}{2\pi \sigma_x \sigma_y} \exp { -\frac{(x-u)^2 + (y-v)^2}{2\sigma_x \sigma_y} } 2 π σ x ​ σ y ​ 1 ​ exp − 2 σ x ​ σ y ​ ( x − u ) 2 + ( y − v ) 2 ​ 不过一般情况下都是让 x x x 方向和 y y y 方向的方差相等 1 2 π σ 2 exp ⁡ − ( x − u ) 2 + ( y − v ) 2 2 σ 2 \frac{1}{2\pi \sigma^2} \exp { -\frac{(x-u)^2 + (y-v)^2}{2\sigma^2} } 2 π σ 2 1 ​ exp − 2 σ 2 ( x − u ) 2 + ( y − v ) 2 ​ 先看原图 plt . imshow ( img_d1 ) 这个颜色是因为opencv的默认格式为BGR 在opencv里调用API如下 # 这里设置方差都为0.8,你也可以让两个方向的方差不等 plt .

灰度图像复原——空间滤波——中值滤波器(Matlab)

两盒软妹~` 提交于 2019-11-29 06:28:40
%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-13.tif'); I_D=im2double(I); [MM,NN]=size(I_D); %%%%%----------------------2、顺序统计滤波器------------------------------- %%======================= 2.1 中值滤波器============================= %定义子窗口的尺寸 m=3; n=3; %确定要扩展的行列数 len_m=floor(m/2); len_n=floor(n/2); %将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算 I_D_pad=padarray(I_D,[len_m,len_n],'symmetric'); %获得扩展后的图像尺寸 [M,N]=size(I_D_pad); J_Median=zeros(MM,NN); %逐点计算子窗口的谐波平均 for i=1+len_m:M-len_m for j=1+len_n:N-len_n %从扩展图像中取出子图像 Block=I_D_pad(i-len_m:i

cv2.bilateralFilter 双边滤波

笑着哭i 提交于 2019-11-29 06:16:31
双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空间与信息和灰度相似性,达到保边去噪的目的,具有简单、非迭代、局部处理的特点。之所以能够达到保边去噪的滤波效果是因为滤波器由两个函数构成:一个函数是由几何空间距离决定滤波器系数,另一个是由像素差值决定滤波器系数. 1 Python: cv2.bilateralFilter(src, d, sigmaColor, sigmaSpace[, dst[, borderType]]) → dst 参数解释: src:输入图像 d:过滤时周围每个像素领域的直径 sigmaColor:在color space中过滤sigma。参数越大,临近像素将会在越远的地方mix。 sigmaSpace:在coordinate space中过滤sigma。参数越大,那些颜色足够相近的的颜色的影响越大。 使用方法: 1 import cv2 as cv 2 import numpy as np 3 cv.namedWindow("image") 4 cv.createTrackbar("d","image",0,255,nothing) 5 cv.createTrackbar("sigmaColor","image",0,255,nothing) 6 cv.ctrateTrackbar("sigmaSpace",

灰度图像复原——空间滤波——几何均值滤波器(Matlab)

↘锁芯ラ 提交于 2019-11-29 05:45:53
%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-13.tif'); I_D=im2double(I); [MM,NN]=size(I_D); %%%%%----------------------1、均值滤波器----------------------------------- %%===================== 1.2 几何均值滤波器================================= %定义子窗口的尺寸 m=7; n=7; %确定要扩展的行列数 len_m=floor(m/2); len_n=floor(n/2); %将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算 I_D_pad=padarray(I_D,[len_m,len_n],'symmetric'); %获得扩展后的图像尺寸 [M,N]=size(I_D_pad); J_Geometric=zeros(MM,NN); %逐点计算子窗口的几何平均 for i=1+len_m:M-len_m for j=1+len_n:N-len_n %从扩展图像中取出子图像 Block=I_D_pad

灰度图像复原——空间滤波——谐波均值滤波器(Matlab)

独自空忆成欢 提交于 2019-11-29 05:45:53
%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-13.tif'); I_D=im2double(I); [MM,NN]=size(I_D); %%%%%----------------------1、均值滤波器----------------------------------- %%======================= 1.3 谐波均值滤波器=============================== %定义子窗口的尺寸 m=5; n=5; %确定要扩展的行列数 len_m=floor(m/2); len_n=floor(n/2); %将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算 I_D_pad=padarray(I_D,[len_m,len_n],'symmetric'); %获得扩展后的图像尺寸 [M,N]=size(I_D_pad); J_Harmonic=zeros(MM,NN); %逐点计算子窗口的谐波平均 for i=1+len_m:M-len_m for j=1+len_n:N-len_n %从扩展图像中取出子图像 Block=I_D_pad(i

灰度图像复原——空间滤波——逆谐波均值滤波器(Matlab)

回眸只為那壹抹淺笑 提交于 2019-11-29 05:02:43
%%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-13.tif'); I_D=im2double(I); [MM,NN]=size(I_D); %%%%%----------------------1、均值滤波器----------------------------------- %%======================= 1.4 逆谐波均值滤波器============================= %定义子窗口的尺寸 m=3; n=3; %确定要扩展的行列数 len_m=floor(m/2); len_n=floor(n/2); %将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算 I_D_pad=padarray(I_D,[len_m,len_n],'symmetric'); %获得扩展后的图像尺寸 [M,N]=size(I_D_pad); %滤波器阶数 Q=1.5; J_Contraharmonic=zeros(MM,NN); %逐点计算子窗口的谐波平均 for i=1+len_m:M-len_m for j=1+len_n:N-len_n

灰度图像的频率域滤波——高斯(Gaussian)低通滤波器(Matlab)

人盡茶涼 提交于 2019-11-29 04:59:35
clc; clear all; close all; %读入图像,并转换为double型 I=imread('D:\Gray Files\4-41.tif'); I_D=im2double(I); %获得图像的高度和宽度 [M,N]=size(I_D); %图像中心点 M0=M/2; N0=N/2; J=fft2(I_D); J_shift=fftshift(J); %%%%===================高斯(Gaussian)低通滤波器========================== %截至频率距离圆点的距离,delta表示高斯曲线的扩散程度 D0=80; delta=D0; for x=1:M for y=1:N %计算点(x,y)到中心点的距离 d2=(x-M0)^2+(y-N0)^2; %计算高斯滤波器 h=exp(-d2/(2*delta^2)); %用滤波器乘以主函数 J_shift(x,y)=J_shift(x,y)*h; end end J=ifftshift(J_shift); I_D_rep=ifft2(J); imshow(I_D_rep,[]); 来源: https://blog.csdn.net/lengo/article/details/100527527

opencv::模糊图像

流过昼夜 提交于 2019-11-29 04:42:34
Smooth/Blur 是图像处理中最简单和常用的操作之一,使用该操作的原因之一就为了给图像预处理时候减低噪声 使用Smooth/Blur操作其背后是数学的卷积计算,通常这些卷积算子计算都是线性操作,所以又叫线性滤波 来源: https://www.cnblogs.com/osbreak/p/11453781.html