Digital Image Processing Using
本书分享的是学习国外经典计算机科学教材,由Rafael、Richard和steven L.Eddins共同编写的数字图像处理的教材。书比较厚,资料非常齐全,建议大家可以去学习一下。
@@南风
这个作者很懒,什么都没留下…
展开
-
matlab快速将几幅图片放在一幅图片
matlab中将几幅图片放在一起显示f=imread('Fig0219(a).tif');fn=imnoise(f,'salt & pepper',0.2);gm=medfilt2(fn);gms=medfilt2(fn,'symmetric');subplot 221;imshow(f); title('(a)X射线图像');subplot 222;imshow(fn);title('(b)被椒盐噪声污染的图像');subplot 223;imshow(gm);title('(c)原创 2020-07-07 17:53:27 · 22517 阅读 · 0 评论 -
ordfilt2非线性滤波器
函数ordfilt2计算统计排序(order-statistic filter)滤波器(也叫做rank filter,即排序滤波器)。这些是非线性空间滤波器,它们的响应基于图像邻域中的像素序列,并且领域中心像素的值被由邻域序列的排序结果决定的值代替。 函数ordfilt2的语法为: g=ordfilt2(f,order,domain) 这个函数用领域排序集合中的第order个元素去替代f中的每个元素以生成输出图像g,邻域由domain内的非零元素指定。在这里,domain是由0和1组成的m*n大小的.原创 2020-07-07 17:48:50 · 1091 阅读 · 0 评论 -
【matlab】线性空间滤波器的实现
线性空间滤波器 工具箱支持一些预定义的二维线性空间滤波器,可通过函数fspecial实现,该函数生成滤波模板W,函数的语法为: w=fspecial(‘type’,parameters) type------------滤波器的类型 parameters------------进一步定义指定的滤波器由函数fspecial支持的空间滤波器,其中的一些用于边缘检测类型语法及参数averagefspecial(‘average’,[r,c])是矩形平均滤波器,大小为rc,默认值原创 2020-07-06 17:54:26 · 2236 阅读 · 0 评论 -
非线性空间滤波
非线性空间滤波也基于领域操作,与使用m*n滤波器的中心点滑过一幅图像的机制一样。 非线性滤波基于领域像素内的非线性操作。模板的概念在非线性处理中不是那么普通。滤波的概念依然存在,但是滤波器应想象为领域像素操作的非线性函数,这些响应构成了 非线性操作的结果。 为了执行通常的非线性滤波操作,工具箱提供了两个函数:nlfilter和colfilt。 nlfilter直接执行二维操作 colfilt按列组织数据。 虽然colfilt需要占用更多的内存,但是执行起来要比nlfilter快很多。在大多数.原创 2020-07-05 10:08:52 · 1613 阅读 · 0 评论 -
线性空间滤波
“线性滤波”的概念源于频域中信号处理所使用的傅里叶变换。在本节中,直接对图像中的像素执行滤波运算。若邻域的大小为m*n,则需要mn个系数。这些系数被排列成矩阵,我们称之为滤波器、模板、滤波模板、template或窗口,其中前3个的叫法最普遍。为简便起见,也用卷积滤波、卷积模板或卷积核等术语。线性滤波原理:线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果。做法很简单。首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像。然后,对于图像原创 2020-07-04 17:15:59 · 1293 阅读 · 0 评论 -
函数adapthisteq
函数adapthisteq这个工具箱函数执行所谓的对比度受限的自适应直方图均衡,这个方法是由用直方图规定化方法处理图像的小区域(称为小片)组成。特别是可以限制均匀亮度区域的对比度,以免放大噪声。语法格式:g=adapthisteq(f,param1,val1,param2,val2,…)f--------输入图像g-------输出图像parm/val是表中的内容参数值‘NumTiles’根据行和列【r,c】指定小片数的正常数的两元素的向量。r和c至少是2,小片总数是r*原创 2020-07-01 11:24:39 · 3438 阅读 · 0 评论 -
直方图匹配法(规则化)
生成具有特定直方图的图像的方法,被称作直方图匹配法或***直方图规则化***。原理:考虑归一化之后在【0,1】区间内的连续灰度级,令r和z分别表示输入图像与输出图像的灰度级。输出图像的灰度级有概率密度函数pr(r)输出图像的灰度级具有规定的概率密度函数pz(z).工具箱使用histeq的下列语法实现直方图匹配:g=histeq(f,hspec)f---------输入图像hspec-------特定的直方图(某个特定值的行向量)g---------输出图像。行向量中包含对应等分的空间原创 2020-07-01 10:35:39 · 3991 阅读 · 0 评论 -
【matlab】直方图均衡化
先读入一张图片这幅图片是显微镜下花粉的图像,的放大了700倍。这幅图片比较暗,动态范围比较低。现在我们把a的直方图运行出来:直方图均衡后的图片可以看出在平均灰度方面的改进是非常明显的。对比度增加源于直方图在整个灰度级上的显著扩展。灰度级的增加源于均衡化之后的图像直方图中灰度级平均值高于(较亮)原始值。直方图均衡化方法并不能生成平坦的直方图,但却具有增加图像灰度级动态范围的特性。在直方图均衡化过程中使用的变换函数是归一化直方图的累加求和。可以使用cumsum函数实现变换功能。变换函数原创 2020-06-24 11:48:15 · 776 阅读 · 0 评论 -
生成并绘制图像的直方图
工具箱中用于处理图像直方图的核心函数是imhist,基本语法如下:h=imhist(f,b)f-------输入图像h-------直方图b-------形成直方图的“统计堆栈”的书目,若b不在此参数列表中,默认值为256.我们可以通过下列表达式得到归一化的直方图:p=imhist(f,b)/numel(f)numel(f)函数可以给出数组f中元素的个数(也就是图像中的像素数)直方图还可以利用条形图来绘制,为了达到目的,我们使用下列函数:bar(horz,z,width)z------原创 2020-06-13 18:54:01 · 1998 阅读 · 0 评论 -
stretchlim函数
这幅图是正常显示。>> low_high=stretchlim(f)low_high = 0 1 >> g2=imadjust(f,stretchlim(f),[]) >> imshow(g2)>> g3=imadjust(f,stretchlim(f),[1 0])>>> imshow(g3)可以看到这样增加了负片图像的对比度。stretchlim函数的语法:low_hi.原创 2020-06-02 07:58:16 · 1841 阅读 · 0 评论 -
imadjust函数
imadjust函数一、imadjust函数imadjust函数是***针对灰度图像进行灰度变换***的基本图像处理工具箱函数。一般的语法格式:g=imadjust(f,[low_in high_in],[low_out high_out],gamma)输入图像应属于unit8、unit16或double类gamma------指明了由f映射生成图像g时曲线的形状。gamma小于1,映射被加权至较高(较亮)的输出值。如果省略,则gamma默认为1(线性映射)。g1位***负片图像***负片原创 2020-06-01 22:49:55 · 2517 阅读 · 0 评论 -
空间域技术背景
空间域指的是图像平面本身,直接对图像的像素进行处理操作。表达式表达:g(x,y)=T[f(x,y)]f(x,y)----输入图像g(x,y)—输出(处理后)的图像T---------对图像f的算子,作用于(x,y)定义的邻域。原创 2020-06-01 22:09:38 · 416 阅读 · 0 评论 -
MATLAB优化编码
MATLAB是专门为数组操作而设计的编程语言。两种重要的优化Matlab代码的方法:预分配数组和向量化循环。一、预分配预分配在进入计算数组元素的for循环之前初始化数组。tic和toc可用来测量函数的执行时间。可以看到同样的命令运行时间变了。f—函数句柄s—调用所需的秒数二、向量化我们可以调用非常有用的MATLAB函数meshgrid(c,r)c-----水平(行)r------垂直(列)meshgrid()的语法:【c,r】=meshgrid(c,r)向量化之后的代码常原创 2020-06-01 18:58:08 · 486 阅读 · 0 评论 -
函数句柄
函数句柄定义:函数句柄是MATLAB数据类型,包含用于引用函数的信息。好处:【1】可以把函数句柄作为参数传递给另外一个函数。【2】提高重复操作的性能。【3】可将函数句柄保存在数据结构或文件中供以后使用函数句柄有两种不同的类型,都用函数句柄算子@来创建一、命名的函数句柄二、使用匿名的函数句柄通用格式为:@(input-argument-list) expressiong—计算输入值的平方r----计算两个变量平方之和的平方根可以像调用命名函数句柄那样调用匿名函数句柄。...原创 2020-06-01 17:33:11 · 8542 阅读 · 0 评论 -
M函数编程
M-文件M-文件可以是简单执行一系列MATLAB语句的源文件,也可以是接收自变量并产生一个或多个输出的函数。M-文件是由文本编辑器创建,并且以filename.m形式的文件名存储,比如average.m以及filter.m。M-文件的组成部分如下:函数定义行H1语句帮助文本函数主体命令函数定义行的形式:function【outputs】=name(inputs)例如,某个计算两幅图像的求和与求积(两个不同的输出)的函数应该具有如下的形式:function【s,p】=sumpro原创 2020-05-30 16:09:16 · 2399 阅读 · 0 评论 -
类和图像类型
MATLAB中的像素值(亮度)支持的类型:doublesingleunit8unit16unit32int8int16int32char10.logical工具箱支持四种图像类型:灰度图像二值图像索引图像RBG图像大多数单色图像的运算处理都是通过二值图像和灰度图像来进行的。一、灰度图像灰度图像是数据矩阵,矩阵的值表示灰度浓淡。元素为unit8:【0,255】元素为unit6:【0,65535】若图像为double或single,值就是浮点数,double或s原创 2020-05-28 14:38:44 · 277 阅读 · 0 评论 -
图像的输入\输出和显示
图像的输入f=imread(‘filename’)图像的输出imshow(f)将图像写入当前目录imwrite(f,‘filename’)一种更加常用但是仅仅适用于JPEG图像的imwrite语法imwrite(f,‘filename.jpg’,‘quality’,q)下面来看一看如何进行操作的...原创 2020-05-27 15:31:54 · 1028 阅读 · 0 评论 -
图像的矩阵表示
数字图像的矩阵表示:M行N列的图像f(x,y)=f(0,0) f(0,1) … f(0,N-1)f(1,0) f(1,1) … f(1,N-1)…f(M-1,0) f(M-1,1) … f(M-1,N-1)数字图像转成MATLAB矩阵1N:行向量M1:列向量1*1:标量MATLAB中的矩阵通过矩阵名,比如A,a,RBG,real_array等以变量形式存储。变量必须由字母开头,只能由字母、数字和下划线组成。...原创 2020-05-27 15:02:31 · 4835 阅读 · 0 评论