图像的线性空间滤波matlab实现
1、线性空间滤波函数Z = imfilter(X,H,option1,option2,...)
X为输入图像矩阵,H为m*n维的掩膜矩阵,H中的数据类型必须是double类型。掩膜矩阵可以是用户定义,也可以是系统定义好的。返回矩阵Z和X有相同的数据结构和数据类型。
整个函数处理的中间过程都会使用double类型,所以不必担心中间结果的精度。
2、获取系统掩膜函数H=fspecial(type,parameters)
type为字符串,制定了掩膜类型。如'average'表示均值掩膜。H为返回的掩膜矩阵,数据类型为double.
- 正方形均值掩膜,h=fspecial('average',n),n为掩膜大小,n*n,默认值是3.
- 高斯低通掩膜,h=fspecial('gaussian',n,sigma),n为掩膜大小n*n,默认为3.sigma为高斯分布方差。
- 二维拉普拉斯掩膜'laplacian',h=fspecial('laplacian',alpha),alpha控制掩膜形状,范围是[0 1],默认值0.2,
- 反锐化掩膜'unsharp',h=fspecial('unsharp',alpha)alpha控制掩膜形状,范围是[0 1],默认值0.2
- 水平锐化掩膜'prewit',h=fspecial('prewit'),如果想用垂直锐化,则用h'
- sobel水平锐化,h=fspecial('sobel'),如果想用垂直锐化,则用h'
clear all;
i=imread('./pic/lena256.bmp'); h=fspecial('sobel');
h=h'; z=imfilter(i,h); figure;
subplot(1,2,1)
imshow(i);
title('原始图像')
subplot(1,2,2)
imshow(z)
title('垂直锐化滤波')
3、添加噪声,是用函数Z=imnoise(A,type,parameters);其中A是要添加噪声的图像,type为添加噪声类型,.
- 高斯噪声Z=imnoise(A,'gausiaan',m,d);其中m是均值,d是方差
- 注意高斯噪声中,m,d指定时要注意转换,例如,对于uint8类型的图像,添加均值为100,方差为200的高斯噪声,
- m=100/255,d=200/(255^2);
- 椒盐噪声Z=imnoise(A,'salt & pepper',d),d范围是[0 ,1],表示噪声密度,即含噪声值的图像区域的百分比。默认值是0.05。噪声是最小值和最大值两种。
- 泊松分布噪声,Z=imnoise(A,'poisson')
clear all;
img = imread('./pic/lena256.bmp');
nimg=imnoise(img,'salt & pepper',0.05);
figure;
subplot(1,2,1);
imshow(img);
subplot(1,2,2);
imshow(nimg);
4、多图像平均法,在相同条件下,进行M次重复拍摄的图像相加,取平均作为输出值。z=imlincomb(k1,A1,k2,A2,k3,A,3...);
z=k1*A1+k2*A2+k3*A3...
例子:
clear all;
img=imread('./pic/lena256.bmp');
n1=imnoise(img,'gaussian',,0.02);
n2=imnoise(img,'gaussian',,0.02);
n3=imnoise(img,'gaussian',,0.02);
n4=imnoise(img,'gaussian',,0.02);
n5=imnoise(img,'gaussian',,0.02); final = imlincomb(0.2,n1,0.2,n2,0.2,n3,0.2,n4,0.2,n5);
figure;
subplot(,,[ ]);
imshow(img);
title('原始图像');
subplot(,,);
imshow(n1);
title('添加高斯噪声后的图像');
subplot(,,);
imshow(final);
title('平均后的图像');
图像的线性空间滤波matlab实现的更多相关文章
- 图像三维灰度分布图——matlab
p=imread('C:\Users\wangd\Documents\MATLAB\1.jpg'); g=rgb2gray(p); % 转为灰阶图 gg=double(g); % 转为数值矩阵 gg= ...
- opencv 图像的线性混合
1 线性混合理论 g(x) = (1-α)*f1(x) + α*f2(x) 其中,α代表图像的权重 #include<iostream> #include<opencv2/openc ...
- 积分图像 分类: 图像处理 Matlab 2015-06-06 10:30 149人阅读 评论(0) 收藏
积分图像(integral image)是一种快速计算矩形区域之和的数据结构,常利用它对算法进行加速.积分图像中处的值是原始灰度图像的左上角与当前点所围成的矩形区域内所有像素点的灰度值之和,即: 其中 ...
- 数字图像处理:图像的灰度变换(Matlab实现)
(1)线性变换:通过建立灰度映射来调整源图像的灰度. k>1增强图像的对比度:k=1调节图像亮度,通过改变d值达到调节亮度目的:0 i = imread('theatre.jpg');i = i ...
- 简单的线性分类——MATLAB,python3实现
看李政轩老师讲的Kernel,讲的非常好!前面有几道作业题,用MATLAB简单做了下,不知道对不对,错误之处还请指出. 题目是这样的. 一.MATLAB版本: clear; clc % 生成train ...
- 图像频谱图画图——matlab
I =imread('C:\Users\wangd\Desktop\in000155.jpg'); %读入原图像文件 I1 = rgb2gray(I); subplot(,,);imshow(I1); ...
- 一个自带简易数据集的模拟线性分类器matlab代码——实验训练
%%%% Tutorial on the basic structure of using a planar decision boundary %%%% to divide a collecti ...
- 图像像素灰度内插(Matlab实现)
常用的像素灰度内插法:最近邻元法.双线性内插法.三次内插法 %%像素灰度内插 factor = 0.75;%缩放比 u = 0.6;v = 0.7; itp1 = uint8(zeros(ceil(h ...
- 马尔科夫随机场(MRF)及其在图像降噪中的matlab实现
(Markov Random Field)马尔科夫随机场,本质上是一种概率无向图模型 下面从概率图模型说起,主要参考PR&ML 第八章 Graphical Model (图模型) 定义:A g ...
随机推荐
- [Node.js] Level 2 new. Event
Chat Emitter We're going to create a custom chat EventEmitter. Create a new EventEmitter object and ...
- [Backbone]2. More detail in Models
Our Appointment model doesn't seem too useful yet. Add two default attributes, title as the string & ...
- 【线段树】HDU 3397 Sequence operation 区间合并
操作 Change operations: 0 a b change all characters into '0's in [a , b] 1 a b change all characters i ...
- GP开发示例:数据库去重
这个例子专业讲解基于ArcEngine使用GP开发的过程及遇到的问题.更多GP使用方法:GP使用心得 功能需求:现在外业第一次数据(简称调绘.mdb)和第二次数据(简称检查.mdb)有重复.第二次是在 ...
- (队列的应用5.3.2)POJ 2259 Team Queue(队列数组的使用)
/* * POJ_2259.cpp * * Created on: 2013年10月30日 * Author: Administrator */ #include <iostream> # ...
- VMWare虚拟机“锁定文件失败“怎么办?
虚拟机突然蓝屏了,然后就启动不了了,提示"锁定文件失败,打不开磁盘或快照所依赖的磁盘"的解决方法: 如果使用VMWare虚拟机的时候突然系统崩溃蓝屏,有一定几率会导致无法启动,会提 ...
- 该内存不能为written
#include <stdio.h>int main(){ char *p = "abc"; printf("%s\n", p); *p = 'd' ...
- java面试第十八天
软件开发流程: 1.可行性分析 2.需求分析->开发测试 3.概要设计->分隔模块,定义框架等 4.详细设计->类设计.接口设计 5.编码 6.测试 7.部署 8.维护 单元测试: ...
- MySQL工具1:mysqladmin
每两秒显示一下MySQL的状态,一共显示5次. # mysqladmin -uroot -p -i 2 -c 5 status 查看MySQL的运行状态: #mysqladmin -uroot -p ...
- Qt音乐播放器制作(一)Easy Player
前几天忽然间认为,事到现在Qt的功底也有些基础了,为什么不试着自己做个玩意来玩玩呢?刚好在开源中国逛代码区的时候看到一个QKugou的项目,就想着做一个在线音乐播放器好了. 于是開始着手准备,忙活了一 ...