数字图像处理实验 实验二

合集下载

2015秋 数字图像处理实验二 综合实验

2015秋  数字图像处理实验二 综合实验


//细胞核和核仁的面积统计
//统计结果存入数组 parameter[index-1]=(float)area_nucleolus/(area_cell+area_nucleolus); //把当前测量的细胞,细胞核与核仁置不同的标记输出 //测量结果存文件,以分析测量数据
菜单中的消息响应函数
预处理
为何需要预处理?
直接分割的效果
选择何种预处理方法?
中值、均值、形态学开闭运算的效果对比 分析预处理的目的,有针对性的选择合适的方法
预处理
中值滤波
原图
灰值闭运算
分割
分割方法的选择 全局阈值 大津阈值 水域分割 …
中值滤波后分割
分割后的效果 直接分割 噪声、边缘毛刺 滤波后分割
//统计该连通区域的大小
//连通区域太小,滤除,此处大小可根据实际应用自行设定 *(segment.m_pImgData+k*lineByte+l)=255; //滤除 //其余的连通区域被认定为目标,给定编号 *(segment.m_pImgData+k*lineByte+l)=index;
输出测量结果
细胞图像分割测量的方案步骤
数学形态学
腐蚀:集合 A 被集合 B 腐蚀,表示为 A B ,数学形式为
A B = {x : B x A}
膨胀: A 被 B 膨胀表示为 A B , 其定义为:
A B [AC
(-B )]C
A B
A
A B B
腐蚀类似于收缩
利用圆盘膨胀
实验一:现场演示,检查,提问 实验二:现场演示,检查,提问 实验三:现场演示,检查,提问,提交报告和代码 实验成绩占最终成绩的30%。

数字图像处理实验二

数字图像处理实验二

电子工程学院数字图像处理课程实验报告四、实验容(包括实验电路、实验步骤与流程、源程序代码、调试过程记录等,可另附页)1.打开计算机,安装和启动MATLAB程序;2.利用MatLab工具箱中的函数编制FFT频谱显示的函数;3. a).调入、显示图像;b)对图像做FFT并利用自编的函数显示其频谱;c)讨论不同的图像容与FFT频谱之间的对应关系。

4. 对频谱分别进行巴特沃兹、高斯滤波(高通和低通),比较其锐化和平滑效果5.记录和整理实验报告。

五、实验结果及分析(包括程序和数据的记录及分析、实验总结等,可另附页)i=imread('C:\picture\lena.bmp'); %读入原图像文件figure(1); %设定窗口imshow(i); %显示原图像colorbar; %显示图像的颜色条title('原图像') %图像命名j=fft2(i); %二维离散傅立叶变换k=fftshift(j); %直流分量移到频谱中心l=log(abs(k)); %数字图像的对数变换figure(2); %设定窗口imshow(l,[]); %显示原图像colorbar; %显示图像的颜色条title('经过二维快速傅立叶变换后的图像') %图像命名n=ifft2(j)/255;%逆二维快速傅里叶变换figure(3); %设定窗口imshow(n);%显示原图像colorbar;%显示图像的颜色条title('经过二维快速傅立叶逆变换后的图像')%图像命名m=fftshift(j);%直流分量移到频谱中心RR=real(m);%取傅立叶变换的实部II=imag(m); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;%归一化figure(4);%设定窗口imshow(A);%显示原图像colorbar;%显示图像的颜色条title('离散傅立叶频谱');%图像命名%理想低通滤波器J=imread('C:\picture\lena.bmp');figure(5);subplot(221);imshow(J);title('原图像');J=double(J);f=fft2(J);g=fftshift(f);subplot(222);imshow(log(abs(g)),[]),color(jet(64));title('傅立叶变换后的频谱');fft2(g)));subplot(223);imshow(g);title('通过理想滤波器');I=imread('C:\picture\lena.bmp'); %巴特沃斯低通滤波器J=imnoise(I,'salt & pepper',0.05);figure(6);subplot(2,1,1);imshow(J);title('含有椒盐噪声的图像')J=double(J);f=fft2(J);%2维离散傅立叶变换g=fftshift(f);%将fft结果以fs/2为中心左右互换[M,N]=size(f);n=3;d0=20;n1=floor(M/2);n2=floor(N/2);for i=1:Mfor j= 1:Nd=sqrt((i-n1)^2+(j-n2)^2);h=1/(1+(d/d0)^(2*n));g(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(2,1,2);imshow(g);title('通过巴特沃斯低通滤波器的图像')六、心得体会(思考与创新、建议等)思考题:1.傅里叶变换有哪些重要的性质?线性性、对称性、相似性、平移性、像函数的平移性(频移性)、微分性、像函数的微分性、积分性、卷积与卷积定理、乘积定理2.图像的二维频谱在显示和处理时应注意什么?a.进行傅里叶变换的图像应该是灰度图形,原rgb彩色图像无法进行相应变换b..注意使用fftshift函数将频谱的零频分量移至频谱的中心实验心得:通过本次实验了解二维频谱的分布特点;熟练掌握FFT方法及应用和MATLAB编程实现数字图像的傅立叶变换及滤波锐化和平滑处理;。

数字图像处理作业(第两次) 基于灰度变换的图像增强

数字图像处理作业(第两次) 基于灰度变换的图像增强

数字图像处理作业(第两次) 基于灰度变换的图像增强第一题 利用幂律变换进行图像增强(实现例3.1)1. 问题重现例3.1中的实验,即用幂律变换对冈萨雷斯《数字图像处理(第3版)》Fig.3.8(a)中的图像进行变换。

c 取1, gamma 分别取0.6,0.4,0.3,观察何时获得最佳的增强效果。

2. 算法步骤:1)将Fig.3.8(a) 中的图像读入矩阵X 中2)输入参数c 和gamma 的值3)显示图像X ;4)利用参数c 和gamma 的值对X 进行幂律变换,得到变换后的图像Y5)显示变换后的图像Y 。

3.程序:(1) 幂律变换的程序:function Y=power_enhance(X, gamma, c)% 对输入图像X 进行幂律变换if ~isa(X,'double')X=im2double(X);endY=c*X.^gamma;(2) 主程序:X=imread('Fig0308(a)(fractured_spine).tif');figure(1)imshow(X);c=1; gamma=0.3;Y= power_enhance(X, gamma, c);figure(2)imshow(Y)c=1,gamma=0.3时的运行结果: c=1, gamma=0.4时的运行结果: c=1, gamma=0.6时的运行结果:5. 实验结果分析随着伽马值从0.6减小到0.4,更多的细节变得可见了。

当伽马值进一步减小到0.3时,背景中的细节得到了进一步增强,但对比度会降低到图像开始有轻微“冲淡”外观的那一点,尤其是在背景中。

比较所有的结果,在对比度和可辨识方面的最好增强在0.4时。

第二题 利用幂律变换进行图像增强(实现例3.2)1. 问题重现例3.2中的实验,即用幂律变换对冈萨雷斯《数字图像处理(第3版)》Fig.3.9(a)中的图像进行变换。

c 取1, gamma 分别取3, 4 和5 ,观察何时获得最佳的增强效果。

数字图像处理实验实验报告 实验二

数字图像处理实验实验报告 实验二

数字图像处理实验实验报告(实验一)一、实验目的:1、直方图显示2、计算并绘制图像直方图3、直方图均衡化二.程序脚本clear all;RGB=imread('me.jpg');figure;imshow(RGB);title('图1 彩色图');%========================================================== I=rgb2gray(RGB);figure;imshow(I);title('图2 灰度图');%========================================================= figure;imhist(I);title('灰度直方图');%========================================================= hi=imhist(I);j=1;%为使画出的直方图更好看,在此进行了抽样for(i=1:256)if(mod(i,10)==1)h(j)=hi(i);j=j+1;endendn=0:10:255;figure;stem(n,h);axis([0 255 0 2500]);title('图3.1 stem显示直方图');figure;bar(n,h);axis([0 255 0 2500]);title('图3.2 bar显示直方图');figure;plot(n,h);axis([0 255 0 2500]);title('图3.3 plot显示直方图');%========================================================= I=rgb2gray(RGB);figure;subplot(3,2,1);imshow(I);title('图4.1 原始灰度图');subplot(3,2,2);imhist(I);title('图4.2 原始灰度直方图');%=============================J1=imadjust(I);subplot(3,2,3);imshow(J1);title('调整对比度以后的图');subplot(3,2,4);imhist(J1);title('调整对比度以后的灰度直方图');%=================================J2=histeq(I);subplot(3,2,5);imshow(J2);title('均衡化以后的的图');subplot(3,2,6);imhist(J2);title('均衡化以后的灰度直方图');三.实验结果图1 彩色图图2 灰度图010002000灰度直方图10020010020005001000150020002500图3.1 stem 显示直方图10020005001000150020002500图3.2 bar 显示直方图10020005001000150020002500图3.3 plot 显示直方图图4.1 原始灰度图10002000图4.2 原始灰度直方图0100200调整对比度以后的图010002000调整对比度以后的灰度直方图0100200均衡化以后的的图02000均衡化以后的灰度直方图100200。

数字图像处理实验二报告

数字图像处理实验二报告

贵州大学实验报告学院:专业:班级:姓名学号实验组实验时间指导教师成绩实验项目名称实验二:数字图像的空域增强处理实验目的通过本实验的学习使学生熟悉和掌握数字图像中的空域增强的一些典型方法:直方图的均衡化处理、平滑滤波、锐化滤波。

实验要求集中授课的教学形式实验原理1、直方图均衡化:基本思想:把原始图的直方图变换为均匀分布的形式,这样就增加了灰度值的动态范围从而达到增强图像整体对比度的效果。

其优点是能自动地增强整个图像的对比度。

均衡化步骤:(1)列出原始灰度级;(2)归一化原始灰度级;(3)统计原始直方图个灰度级像素kn;(4)计算原始直方图;(5)计算累计直方图;(6)确定映射关系(原则是:取最靠近的灰度级别);(7)统计新直方图各灰度级像素kn(8)计算新直方图;也可以用以下方法:(1)计算出原始图像的所有灰度级ks,1,,1,0-=Lk ;(2)统计原始图像各灰度即的像素数k n ;(3)计算原始图像的直方图n n s p kk =)(,1,,1,0-=L k ;(4)计算原始图像的累积直方图)()(00∑∑=====ki i s ki ik k s p n n s EH t ;(5)取整运算:])1int[(N kt N t k k +-=;(6)定义映射关系k k t s →;(7)统计新直方图各灰度级的像素数k n ;(8)计算新的直方图n n t p kk t =)(;2、邻域平均法对含噪声原始图像),(y x f 的每个像素点取一个邻域S 。

计算S 中的所有像素灰度级的平均值,作为空间域平均处理后图像),(y x g 的像素值。

即:∑∈=Sy x y x f My x g ),(),(1),(其中M 为邻域S 中的像素点数。

3、中值滤波对含噪声原始图像),(y x f 的每个像素点取一个邻域S (一般选取奇数点模板窗口)。

选取S 中的所有像素灰度级的中间值,作为空间域平均处理后图像),(y x g 的像素值。

数字图像处理实验报告.doc

数字图像处理实验报告.doc

数字图像处理试验报告实验二:数字图像的空间滤波和频域滤波姓名: XX学号: 2XXXXXXX实验日期:2017年4月26日1. 实验目的1. 掌握图像滤波的基本定义及目的。

2. 理解空间域滤波的基本原理及方法。

3. 掌握进行图像的空域滤波的方法。

4. 掌握傅立叶变换及逆变换的基本原理方法。

5. 理解频域滤波的基本原理及方法。

6. 掌握进行图像的频域滤波的方法。

2. 实验内容与要求1. 平滑空间滤波:1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。

2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。

3)使用函数 imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’ replicate ’、’ symmetric ’、’ circular ’)进行低通滤波,显示处理后的图像。

4) 运用 for 循环,将加有椒盐噪声的图像进行10 次, 20 次均值滤波,查看其特点, 显示均值处理后的图像(提示 : 利用 fspecial 函数的’ average ’类型生成均值滤波器)。

5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。

6)自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。

2.锐化空间滤波1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 81;1,1, 1]对其进行滤波。

2) 编写函数 w = genlaplacian(n) ,自动产生任一奇数尺寸n 的拉普拉斯算子,如 5×5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]3) 分别采用5×5,9×9,15×15 和 25×25 大小的拉普拉斯算子对blurry_moon.tif进行锐化滤波,并利用式 g(x, y)2 f (x, y) 完成图像的锐化增强,观察其有何f (x, y)不同,要求在同一窗口中显示。

数字图像处理实验二(直方图均衡化)

数字图像处理实验二(直方图均衡化)

数字图像处理实验二直方图均衡化(直方图均衡化实质上是减少图象的灰度级以换取对比度的加大)例如:假设原图的灰度分布级为126(最大为256,也就是从0到255的级上的灰度都有或多或少的出现),经过直方图均衡化后,灰度分布级别将会小于126。

编程的时候请按照直方图均衡化公式进行。

下面给出大致的编程思路和源代码:其中黑框部分需要自己编写源代码1)利用第一次实验课提供的dhc.h 和dhc.c文件以获取位图的高宽以及从文件头到实际的位图数据的偏移字节数,从而实现对位图实际数据的操作。

利用include命令#include <stdio.h>#include <stdlib.h>#include <memory.h>#include "hdr.h"思考问题:#include <*.h> 和#include "*.h"在程序运行中有什么差别?2)定义结构指针struct bmphdr *hdr;定义用于直方图变量unsigned char *bitmap, new_color[256];定义计算灰度分布,灰度累计分布的数组int count[256], acum[256];3)main()函数编写//定义整数i,j 用于函数循环时的,nr_pixels为图像中像素的个数int i, j, nr_pixels;//定义两个文件指针分别用于提取原图像的数据和生成直方图均衡化后的图像FILE *fp, *fpnew;//定义主函数的参数包括:输入的位图文件名和输出的位图文件名,此处内容可以不要,在DOS下执行命令的时候再临时输入也可,为了方便演示,我这里直接把函数的参数确定了。

argc=3;argv[1]="test.bmp";argv[2]="testzf.bmp";//参数输入出错显示if (argc != 3) {printf("please input the name of input and out bitmap files\n");exit(1);}// 获取位图文件相关信息hdr = get_header(argv[1]);if (!hdr) exit(1);//以二进制可读方式打开输入位图文件fp = fopen(argv[1], "rb");if (!fp) {printf("File open error!\n");exit(1);}// 文件指针指向数据区域fseek(fp, hdr->offset, SEEK_SET);//计算位图像素的个数nr_pixels = hdr->width * hdr->height;bitmap = malloc(nr_pixels);//读取位图数据到bitmap中fread(bitmap, nr_pixels, 1, fp);fclose(fp);memset(count, 0, sizeof(count));//计算每个灰度级上像素的个数结果存入count[]数组中memcpy(acum, count, sizeof(acum));//计算灰度的累计分布for (i = 1; i < 256; i++)acum[i] += acum[i-1];//灰度直方图的均衡化(核心程序部分,请仔细分析)为了方便大家编程实现,这里直接给出了源代码,本实验最核心的部分就在这里//}//对所有的像素灰度值按照均衡化得到的灰度对应规则进行转换,结果存入bitmap[]中//fpnew = fopen(argv[2], "wb+");//由于位图文件的头部信息并没有因直方图均衡化而改变,因此输出图像的头部信息从原位图文件中拷贝即可:fwrite(hdr->signature, 2, 1, fpnew);fwrite(&hdr->size, 4, 1, fpnew);fwrite(hdr->reserved, 4, 1, fpnew);fwrite(&hdr->offset, 4, 1, fpnew);fwrite(&hdr->hdr_size, 4, 1, fpnew);fwrite(&hdr->width, 4, 1, fpnew);fwrite(&hdr->height, 4, 1, fpnew);fwrite(&hdr->nr_planes, 2, 1, fpnew);fwrite(&hdr->bits_per_pixel, 2, 1, fpnew);fwrite(&hdr->compress_type, 4, 1, fpnew);fwrite(&hdr->data_size, 4, 1, fpnew);fwrite(&hdr->resol_hori, 4, 1, fpnew);fwrite(&hdr->resol_vert, 4, 1, fpnew);fwrite(&hdr->nr_colors, 4, 1, fpnew);fwrite(&hdr->important_color, 4, 1, fpnew);if (hdr->offset > 54)fwrite(hdr->info, (hdr->offset - 54), 1, fpnew);////关闭fclose(fpnew);//释放内存(优化程序必需)free(hdr);free(bitmap);return 0;}。

数字图像处理实验报告2

数字图像处理实验报告2

实验二: 数字图像的空间域滤波——平滑滤波1. 1. 实验目的2.掌握图像滤波的基本定义及目的。

3.理解空间域滤波的基本原理及方法。

4.掌握进行图像的空域滤波的方法。

1. 2. 实验基本原理2.空间域增强空间域滤波是在图像空间中借助模板对图像进行领域操作, 处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。

空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制, 同时保证其他分量不变, 达到增强图像的目的。

空域滤波一般分为线性滤波和非线性滤波两类。

各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。

平滑的目的可分为两类: 一类是模糊, 目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。

锐化的目的是为了增强被模糊的细节。

结合这两种分类方法, 可将空间滤波增强分为四类:线性平滑滤波器(低通)非线性平滑滤波器(低通)线性锐化滤波器(高通)非线性锐化滤波器(高通)1)空间滤波器都是基于模板卷积, 其主要工作步骤是:2)将模板在图中移动, 并将模板中心与图中某个像素位置重合;3)将模板上的系数与模板下对应的像素相乘;4)将所有乘积相加;5)将和(模板的输出响应)赋给图中对应模板中心位置的像素。

3.平滑滤波器1)线性平滑滤波器线性低通平滑滤波器也称为均值滤波器, 这种滤波器的所有系数都是正数, 对3×3的模板来说, 最简单的是取所有系数为1, 为了保持输出图像任然在原来图像的灰度值范围内, 模板与象素邻域的乘积都要除以9。

MATLAB 提供了fspecial 函数生成滤波时所用的模板, 并提供filter2和imfilter 函数用指定的滤波器模板对图像进行运算。

函数fspecial 的语法格式为:h=fspecial(type);h=fspecial(type,parameters);其中参数type 指定滤波器的种类, parameters 是与滤波器种类有关的具体参数。

数字图像处理实验二

数字图像处理实验二

实验二图像变换一.实验目的1.熟悉MATLAB中的图像处理工具箱。

2.熟悉MATLAB中常用的图像处理函数。

3.掌握图像变换的基本原理与实现方法,掌握基本的图像频率域操作。

二.实验内容1.熟悉MATLAB图像处理工具箱的功能及常用的图像处理函数。

2.计算图像“characters_test_pattern.tif”的中心傅里叶频谱并以图形的形式显示,利用上面的结果计算该图像的平均灰度值。

f = imread('FigP0401(test_pattern).tif');subplot(1,2,1);imshow(f)F = fft2(f); % 傅氏变换Fc = fftshift(F); % 中心化Fm = abs(Fc); % 取模subplot(1,2,2);imshow(Fm,[])mean2(f)平均灰度值:3.实现“DIPUM2E_PROJECT_STATEMENTS”中的PROJECT 4.4 、4.5、4.6、4.7、4.8,其中4.8题可选。

4.4生成并显示为M = N = 600的两个过滤器的三维透视图,D0 = 50,W = 8,n = 0.1。

别忘了使用功能fftshift中心过滤器,从而产生更好看的图。

a、编写一个功能与以下规格来实现这些过滤器:>> function H = bandfilter(type, M, N, D0, W, n)%BANDFILTER Generate a bendreject or bandpass filter.% H = BANDFILTER(M, N, D0, W, TYPE) generates a bandreject% filter (if TYPE is specified as 'reject') of size M-by-N,% order n, width W and center at D0. To generate a bandpass% filter specify TYPE as 'pass'.解:function H = bandfilter(type, M, N, D0, W, n)%BANDFILTER Generate a bendreject or bandpass filter.% H = BANDFILTER(M, N, D0, W, TYPE) generates a bandreject% filter (if TYPE is specified as 'reject') of size M-by-N,% order n, width W and center at D0. To generate a bandpass% filter specify TYPE as 'pass'.H=zeros(M,N);K=length(D0);if length(W)==1W= W*ones(K,1);endif length(n) == 1n = n*ones(K, 1);end% Generate meshgrid array.[U, V] = dftuv(M, N);% Compute square distances array.D = sqrt(U.^2 + V.^2);% Generate filter.K = length(D0); % Number of bands.H = zeros(M, N);for I = 1:Kw = W(I);d0 = D0(I);N= n(I);DEN = (w*D./(D.^2 - d0^2 + eps)).^2*N;% Generate as bandpass to avoid adding the limiting value of 1 % in the bandreject filters.H = H + (1 - 1./(1 + DEN));endif strcmp(type, 'reject')H = 1 - H; % Bandreject filter.end% Scale filter amplitude to the range [0 1].H = H - min(H(:));H = H./max(H(:));b、生成并显示为M = N = 600的两个过滤器的三维透视图,D0 = 50,W = 8,n = 0.1。

数字图像处理实验2报告

数字图像处理实验2报告

数字图像处理实验212021133徐姚文电子信息工程电控学院2015年5月17日实验二图像直方图均衡Image Histogram Equalization一、目的与任务学习并掌握图像直方图均衡的基本理论,并通过分析均衡前后的图像验证课堂教学内容,总结直方图均衡的特点。

二、内容、要求与安排方式a) 实验内容对图像 img2 进行直方图均衡(img2为X光片图像)1.对比均衡前后图像的直方图及特点,a)图形显示其直方图以及灰度映射关系b)计算以下参数:概率非零灰度数,概率非零灰度中最大概率、最小概率、最大最小概率之比。

c)统计图像中概率大于平均概率的灰度级数;d)计算非零概率的平均值和方差e)您认为哪些参数能够表现图像直方图分布的均匀程度?试提取相关参数进行测试。

2.找一到两幅图像重复上述实验。

3.通过实验结果对比,能得出什么结论?三、实验源程序#include "stdio.h"typedef struct{unsigned char B,G,R;}pixel_RBG;#define H (158)#define W (200)#define Z_H (200)#define Z_W (300)int main(){FILE *fp,*fp2,*fp3,*fp4,*fp5;fp=fopen("hand1.bmp","rb");fp2=fopen("result.bmp","wb");fp3=fopen("1.bmp","rb");fp4=fopen("zft.bmp","wb");fp5=fopen("zft2.bmp","wb");unsigned char wenjiantou[54],wjt[54];pixel_RBG Pixel[H][W];pixel_RBG zft[Z_H][Z_W];long dsR[256]={0},dsG[256]={0},dsB[256]={0};double paR[256]={0},paG[256]={0},paB[256]={0};fread(wenjiantou,1,54,fp);fread(wjt,1,54,fp3);fread(Pixel,3,W*H,fp);int i,j;for(i=0;i<H;i++)for(j=0;j<W;j++){dsR[Pixel[i][j].R]++;dsG[Pixel[i][j].G]++;dsB[Pixel[i][j].B]++;}//灰度级的累计概率分布paR[0]=dsR[0]*(1.0/(W*H));paG[0]=dsG[0]*(1.0/(W*H));paB[0]=dsB[0]*(1.0/(W*H));for(i=1;i<256;i++){paR[i]=paR[i-1]+dsR[i]*(1.0/(W*H));paG[i]=paG[i-1]+dsG[i]*(1.0/(W*H));paB[i]=paB[i-1]+dsB[i]*(1.0/(W*H));}//灰度映射for(i=0;i<H;i++)for(j=0;j<W;j++){Pixel[i][j].R=(unsigned char)(255*paR[Pixel[i][j].R]+0.5);Pixel[i][j].G=(unsigned char)(255*paG[Pixel[i][j].G]+0.5);Pixel[i][j].B=(unsigned char)(255*paB[Pixel[i][j].B]+0.5);}printf("灰度映射关系:gk=255*fk+0.5\n");fwrite(wenjiantou,1,54,fp2);fwrite(Pixel,3,W*H,fp2);//////a、画原图直方图for(i=0;i<Z_H;i++)for(j=0;j<Z_W;j++){zft[i][j].B=255;zft[i][j].G=255;zft[i][j].R=255;} //画白色图纸for(i=10-1;i<=10;i++)for(j=10-1;j<=260+10;j++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=0;}for(j=10-1;j<=10;j++)for(i=10;i<=150;i++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=0;} //画坐标轴int max=0;for(i=0;i<256;i++){if(dsR[i]>max)max=dsR[i];}int m=0;for(j=10,m=0;j<=(255+10);j++,m++)for(i=10;i<=(10+(100*dsR[m]/max));i++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=255;} //直方图fwrite(wjt,1,54,fp4);fwrite(zft,3,Z_W*Z_H,fp4);//////b、求原图灰度概率double P[256]={0},maxP=0,minP=1;int count=0;for(i=0;i<256;i++){P[i]=(unsigned char)dsR[i]*(1.0/(W*H));if(P[i]!=0)count++;}for(i=0;i<256;i++){if(P[i]>maxP)maxP=P[i];if(P[i]<minP&&P[i]!=0)minP=P[i];}printf("###原图###\n概率非零灰度数:%d\n最大概率:%f\n最小概率:%f\n最大最小概率之比:%f\n",count,maxP,minP,maxP/minP);//////c、求原图概率大于平均概率的灰度级数double EP=0;for(i=0;i<256;i++){EP=EP+P[i];}EP=EP/255;printf("概率大于平均概率(%f)的灰度级数:\n",EP);for(i=0;i<256;i++){if(P[i]>EP)printf("%d\t",i);}printf("\n");//////d、计算原图非零概率的平均值和方差EP=0;double Var=0;for(i=0;i<256;i++){if(P[i]!=0)EP=EP+P[i];}EP=EP/count;for(i=0;i<256;i++){if(P[i]!=0)Var=Var+(P[i]-EP)*(P[i]-EP);}Var=Var/count;printf("非零概率的平均值:%f\t方差:%f\n",EP,Var); //重新计算灰度值的数量for(i=0;i<H;i++)for(j=0;j<W;j++){dsR[Pixel[i][j].R]++;dsG[Pixel[i][j].G]++;dsB[Pixel[i][j].B]++;}//////a、画直方图均衡后的直方图for(i=0;i<Z_H;i++)for(j=0;j<Z_W;j++){zft[i][j].B=255;zft[i][j].G=255;zft[i][j].R=255;} //画白色图纸for(i=10-1;i<=10;i++)for(j=10-1;j<=260+10;j++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=0;}for(j=10-1;j<=10;j++)for(i=10;i<=150;i++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=0;} //画坐标轴max=0;for(i=0;i<256;i++){if(dsR[i]>max)max=dsR[i];}for(j=10,m=0;j<=(255+10);j++,m++)for(i=10;i<=(10+(100*dsR[m]/max));i++){zft[i][j].B=0;zft[i][j].G=0;zft[i][j].R=255;} //直方图fwrite(wjt,1,54,fp5);fwrite(zft,3,Z_W*Z_H,fp5);//////b、求处理后图灰度概率maxP=0;minP=1;count=0;for(i=0;i<256;i++){P[i]=(unsigned char)dsR[i]*(1.0/(W*H));if(P[i]!=0)count++;}for(i=0;i<256;i++){if(P[i]>maxP)maxP=P[i];if(P[i]<minP&&P[i]!=0)minP=P[i];}printf("###结果图###\n概率非零灰度数:%d\n最大概率:%f\n最小概率:%f\n最大最小概率之比:%f\n",count,maxP,minP,maxP/minP);//////c、求结果图概率大于平均概率的灰度级数EP=0;for(i=0;i<256;i++){EP=EP+P[i];}EP=EP/255;printf("概率大于平均概率(%f)的灰度级数:\n",EP);for(i=0;i<256;i++){if(P[i]>EP)printf("%d\t",i);}printf("\n");//////d、计算结果图非零概率的平均值和方差EP=0;Var=0;for(i=0;i<256;i++){if(P[i]!=0)EP=EP+P[i];}EP=EP/count;for(i=0;i<256;i++){if(P[i]!=0)Var=Var+(P[i]-EP)*(P[i]-EP);}Var=Var/count;printf("非零概率的平均值:%f\t方差:%f\n",EP,Var);五、显示结果图像及对应参数原始图像:直方图均衡后图像:原图直方图:均衡后的直方图:对应参数:(由程序计算得出,运行结果截图如下)原始图像参数均衡后图像参数换一幅图像,重新实验:原始图像:直方图均衡后图像:原图直方图:均衡后的直方图:对应参数:(由程序计算得出,运行结果截图如下)原始图像参数12021133徐姚文均衡后图像参数六、实验结果分析及结论通过实验结果可知,当图像的有用数据的对比度相当接近的时候,通过直方图均衡化后,均衡化后的图像亮度可以更好地在直方图上分布。

数字图像处理实验报告 (2)

数字图像处理实验报告 (2)

数字图像处理实验报告实验一数字图像基本操作及灰度调整一、实验目得1)掌握读、写图像得基本方法。

2)掌握MATLAB语言中图像数据与信息得读取方法。

3)理解图像灰度变换处理在图像增强得作用。

4)掌握绘制灰度直方图得方法,理解灰度直方图得灰度变换及均衡化得方法。

二、实验内容与要求1.熟悉MATLAB语言中对图像数据读取,显示等基本函数特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。

1)将MA TLAB目录下work文件夹中得forest、tif图像文件读出、用到imread,imfinfo等文件,观察一下图像数据,了解一下数字图像在MATLAB中得处理就就是处理一个矩阵。

将这个图像显示出来(用imshow)。

尝试修改map颜色矩阵得值,再将图像显示出来,观察图像颜色得变化。

2)将MATLAB目录下work文件夹中得b747、jpg图像文件读出,用rgb2gray()将其转化为灰度图像,记为变量B。

2.图像灰度变换处理在图像增强得作用读入不同情况得图像,请自己编程与调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应得处理效果。

3.绘制图像灰度直方图得方法,对图像进行均衡化处理请自己编程与调用Matlab函数完成如下实验。

1)显示B得图像及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函数将它得灰度值调整到[0,1]之间,并观察调整后得图像与原图像得差别,调整后得灰度直方图与原灰度直方图得区别。

2)对B进行直方图均衡化处理,试比较与源图得异同。

3)对B进行如图所示得分段线形变换处理,试比较与直方图均衡化处理得异同。

图1、1分段线性变换函数三、实验原理与算法分析1.灰度变换灰度变换就是图像增强得一种重要手段,它常用于改变图象得灰度范围及分布,就是图象数字化及图象显示得重要工具。

1)图像反转灰度级范围为[0,L-1]得图像反转可由下式获得2)对数运算:有时原图得动态范围太大,超出某些显示设备得允许动态范围,如直接使用原图,则一部分细节可能丢失。

数字图像处理实验二(附源程序)

数字图像处理实验二(附源程序)

数字图像处理—实验二一.实验内容:⑴直方图均衡化(Histogram equalization),⑵直方图匹配(Histogrammatching),二.实验目的:加强直方图均衡化和直方图匹配的图像增强技术的认识和了解。

学会用Matlab中的下列函数对输入图像进行上述2类运算;感受各种不同的直方图图像增强处理方法对最终图像效果的影响。

Imhist;histeq;三.实验步骤:1.仔细阅读Matlab帮助文件中有关以上函数的使用说明,能充分理解其使用方法并能运用它们完成实验内容。

2.将mountain.jpg图像文件读入Matlab,对其作直方图均衡化。

显示运算前后该图像的直方图,处理后的图像和灰度变换函数。

3.对mountain.jpg图像做直方图匹配运算,显示运算前后该图像的直方图,处理后的图像和灰度变换函数。

直方图反映灰度等级的分布情况,本实验指定的直方图如下:1400×r r≤5 Array 7000-310×r 5<r≤20n =900-5×r 20<r≤180-1440+8×r 180<r≤2253060-12×r 225<r≤2554.利用mountain.jpg图像的直方图(imhist函数可生成),编写直方图均衡化函数。

四.实验报告要求:用imshow, plot等函数生成各类图像及曲线,提交原图像和相关处理方法的曲线,以及经各种方法处理后的图像。

分析原始图像与增强图像的不同效果情况。

Array%%%%%%%%%班级:0410201%%%%%%%%%姓名:某某%%%%%%%%%学号:041010329clear all;clc;close all;%%%%%%%%%处理mountain.jpgI1=imread('mountain.jpg');%%%%%%%%%直方图均衡化[J1,T1]=histeq(I1,256);figure,subplot(2,3,1),imshow(I1),title('原图');axis on;subplot(2,3,2),imhist(I1),title('原图直方图');axis on;subplot(2,3,4),imshow(J1),title('均衡化后图像');axis on;subplot(2,3,5),imhist(J1),title('均衡化后直方图');axis on;subplot(2,3,6),plot(T1),title('变换函数');axis on;%%%%%%%%%直方图规定化I2=uint8(I1);r=0:1:255;n=([r<=5].*r*1400+[r>5].*[r<=20].*(7000-r*310)+[r>20].*[r<=180].*(900-r*5)...+[r>180].*[r<=225].*(r*8-1440)+[r>225].*[r<=255].*(3060-r.*12));[J2,T2]=histeq(I2,n);figure,subplot(2,3,1),imshow(I2),title('原图');axis on;subplot(2,3,2),imhist(I2),title('原图直方图');axis on;subplot(2,3,4),imshow(J2),title('规定化后图像');axis on;subplot(2,3,5),imhist(J2),title('规定化后直方图');axis on;subplot(2,3,6),plot(T2),title('变换函数');axis on;%%%%%%%%直方图均衡化算法I3=im2double(I1);[m n]=size(I3);r1=zeros(1,256);p=r1;s1=r1;s2=r1;a=0;for k=1:256for i=1:mfor j=1:nif(I3(i,j)==((k-1)/255));r1(k)=r1(k)+1;endendendp(k)=r1(k)/65536;s1(k)=a+p(k);a=s1(k);s2(k)=round(s1(k)/(1/255))/255;end[m n]=size(I3);t=0;for k=1:256t=t+1;if( k==256||s2(k)~=s2(k+1))for i=1:mfor j=1:nif(I3(i,j)>=(k-t)/255&&I3(i,j)<=(k-1)/255)I4(i,j)=s2(k);endendendt=0;endendI3=mat2gray(I3);I4=mat2gray(I4);figure,subplot(2,3,1),imshow(I3),title('原图');axis on;subplot(2,3,2),imhist(I3),title('原图直方图');axis on;subplot(2,3,4),imshow(I4);title('自编函数均衡化');axis on; subplot(2,3,5);imhist(I4);title('自编函数均衡化后直方图');axis on; subplot(2,3,6),plot(s1),title('变换函数');axis on;。

数字图像处理实验二图像灰度直方图实验

数字图像处理实验二图像灰度直方图实验

课程名称数字图像处理与分析实验序号实验二实验项目图像灰度直方图实验实验地点实验学时实验类型指导教师实验员专业班级学号姓名年月日分析:由生成的图像可知,索引图比灰度图的灰度等级更大,颜色更暗,二值图像只能描述其轮廓,不能描述细节。

代码:clear ; %清除内存原有一切变量RGB=imread('gou.jpg');[X1,map]=rgb2ind(RGB,64);I=rgb2gray(RGB); %把RGB图变为灰度图X2=rgb2ind(RGB,map);subplot(2,2,1),imshow(RGB);title('yuantu');subplot(2,2,2),imshow(I);title('graytu'); %显示灰度图subplot(2,2,3),imshow(X1,map);title('x1map');subplot(2,2,4),imshow(X2,map);title('x2map');运行结果:分析:由生成的图像可知,RGB图转换灰度图失败,不清楚原因,但是代码没有问题;由RGB转换的两张索引图和原图没有肉眼可识别的差别。

2、计算出一幅灰度图像的直方图代码:clear;close all;RGB=imread('gou.jpg'); % 把RGB图读入矩阵I=rgb2gray(RGB); %把RGB图变为灰度图imhist(I);title('实验1 直方图');运行结果:分析:灰度图较暗,因此灰度直方图像素灰度值取在左边较暗的区域。

3、对灰度图像进行简单灰度线形变换代码:RGB=imread('gou.jpg');I=rgb2gray(RGB);subplot(2,2,1),imshow(I);subplot(2,2,2),imhist(I);J=histeq(I);subplot(2,2,3),imshow(J);subplot(2,2,4), imhist(J); title('实验2 -直方图均衡化');运行结果:分析:由生成的图像可知,原始图像较暗且动态范围较小,反应在直方图上就是直方图所占据的灰度值范围比较窄,且集中在低灰度值一边。

数字图像处理 实验二

数字图像处理 实验二

数字图像处理 实验二一、实验目的1、使用频域增强原理对图像进行增强处理。

2、分别使用理想低通滤波器,理想滤波器和Butterworth 滤波器分别对图像进行处理。

二、实验原理在频域空间,图像的变化程度表现为不同频率分量的组合。

如果经过一个滤波器将某些频率的分量滤除,而其他的频率成分没有影响,就可以改变输出图的频率分布,达到图像的增强的效果。

频域空间的增强方法有两个关键技术,一是时域与频域的之间的转换,另一个是在频域对图像进行增强处理1.在频率域中的滤波步骤:(1) 用(1)x y +-乘以输入图像来进行中心变换; (2) 由(2)计算图像的DFT ,即(,)F μν。

(3) 用滤波器函数(,)H μν乘以(,)F μν,即(,)(,)(,)G H F μνμνμν=; (4) 计算(3)中结果的逆DFT ;(5) 取(4)中结果的实部或者是求模运算; (6) 用(1)x y+-乘以(5)中的结果;2低通滤波:低通滤波是要保留图像中的低频分量而去除图像中的高频分量。

图像中的边缘和噪声都对应图像频域中的高频部分,所以通过在频域中的低通滤波可以除去或消弱噪声影响并模糊边缘轮廓,与时域中的平滑方法效果类似。

要实现低通滤波需要选一个合适的(,)H μν以得到消弱(,)H μν高频分量得到(,)G μν。

(1)理想低通滤波器传递函数:01(,)(,)0(,)D D H D D μνμνμν≤⎧=⎨>⎩上式中D 0是一个规定的正数,理想低通滤波器的截止频率;由于要对滤波器进行中心化处理,D (u,v )代表从频率平面的中心点(,)22M N到(u,v )点的距离:(,)D μν=(2)巴特沃斯低通滤波器BLPF巴特沃思低通滤波器为最大平坦滤波器,其传递函数(n 阶)为:201(,)(,)1nD D D μνμν=⎡⎤+⎢⎥⎣⎦对于不同与ILPF ,BLPF 变换函数在通带与被滤除的频率之间没有明显的截断。

数字图像处理实验实验二

数字图像处理实验实验二
结果截图:
2.图像的减法运算-imsubtract
说明
背景图像可通过膨胀算法得到
现下图所示结果
示例代码如下:
I1=imread( 'rice.p ng');
K=
图像的除法通常用于校正成像设备的非线性误差,也可用于检测两张图像间的差别,它给出
的相应像素的变化比率,而不是每个像素的绝对差异。
代码如下:
>>I=imread('camerama n.tif);
说明:要求将图像大小缩小至原来的一半
代码:
I1=imread('rice.p ng');
12=imresize(l1, 0.5);
结果截图
亠tdt MwIrm>4FvdW WMw即,"*屯
®,dc d■a
(2)图像旋转-imrotate
说明:要求将图像逆时针旋转90度 代码:
11 =imread( 'camerama n.tif');
12=imrotate(I1,90);
结果截图
(3)空间变换
说明:要求对图像进行仿射变换
>>J=
:double(I);
>>J=
:J*0.43+90;
>>I2:
=ui nt8(J);
>>Ip:
=imdivide(I,I2);
>>imshow(Ip,[])
结果
5•图像更的几何运算
Matlab提供了图像大小变化、旋转、错切、删除及反射等图像的几何操作,达到图像的配准 和几何校正的目的二
、实验目的
i•了解图像的算术运算在数字图像处理中的初步应用。

《数字图像处理》实验二报告

《数字图像处理》实验二报告

成绩:数字图像处理实验报告实验一:数字图像的matlab实现学号:0967118202姓名:张建波同组人:电脑编号:实验时间:2012年06月06日星期三数字图像处理实验报告一、实验名称图像处理的Matlab 实现二、实验目的1、了解Matlab 及其工具箱的基本使用方法2、掌握使用Matlab 打开各种图像文件的方法3、掌握使用Matlab 进行简单图像处理的方法三、实验平台Windows XP 、Matlab四、实验内容1、编写一个可实现直方图均衡化的程序2、编写一个可实现图像对比度增强的程序3、编写一个可使用邻域平均法进行图像处理的程序五、实验原理1、直方图均衡化直方图均衡化处理可将图像的灰度范围拉开,让灰度直方图在较大的动态范围内趋于一致。

用图像),(y x f 的直方图代替灰度的分布密度函数)(f p f ,则直方图均衡化后的图像g 为:⎰==ff du u p f Tg 0)(][ 对于数字图像,设原图像的像素总数为N ,灰度级的个数为L ,第k 个灰度级出现的频数为k n 。

若原图像),(y x f 在像素点),(y x 处的灰度为k r ,则直方图均衡化后的图像),(y x g 在),(y x 处的灰度k s 为:∑===kl l k k N n r T s 0][ MATLAB 图像处理工具箱提供了用于直方图均衡化的函数histep 。

histep 函数的语法格式为:J=histep(I ,hgram)J=histep(I ,n)[J ,T]=histep(I ,…)newmap=histep(X ,map ,hgram)newmap=histep(X ,map)[newmap ,T]=histep(X ,…)其中J=histep(I ,hgram)将原始图像I 的直方图变成用户指定的向量hgram ,hgram 中的各元素值域为[0,1]。

J=histep(I ,n)指定直方图均衡化后的灰度级数n ,默认值为64。

数字图像处理实验二报告(图像滤波器)

数字图像处理实验二报告(图像滤波器)

实验报告课程名称数字图像处理实验名称图像滤波器姓名学号 20120712 专业班级数媒1202 实验日期 2014 年 10 月 16日成绩指导教师一、实验目的1.继续熟悉仿真工具MATLAB2.巩固图像读取与显示的方法3.掌握给图像添加噪声的方法4.掌握图像空间域的滤波方法5.掌握图像频率域的滤波方法二、实验原理图像的平滑有模糊图像和消除噪声的功能。

图像锐化则是使模糊的图像变清晰,增强图像的边缘细节。

对图的处理像既可以在频率域内进行,又可在空间域进行(一般为模版卷积方式)。

从信号频谱角度来讲,信号缓慢变化的部分(大面积背景区和灰度变化缓慢的区域)在频域表现为低频,迅速变化的部分(图像边缘、跳跃以及噪声等灰度变化剧烈的区域)则表现为高频。

因此,通过低通滤波来实现图像的平滑,而高通滤波可以实现图像的锐化。

三、实验环境Windows XP/ Windows 7Matlab 7.0.1/ Matlab R2008四、实验内容与步骤1.空间平滑域操作读取并显示一幅灰度图像,对原图像分别添加高斯噪声和椒盐噪声,并显示添加噪声之后的图像:调整高斯噪声和椒盐噪声的参数,比较不同参数之间噪声的区别;进行平滑操作,观察、记录并比较实验结果;针对两幅含有噪声的图像,采用中值滤波方法进行平滑处理,观察并记录实验结果,并将之与上一步实验结果相比较,得出结论。

2.空间锐化操作读取并显示一幅灰度图像,分别采用Prewitt水平/垂直边缘检测算子,Sobel水平/垂直边缘检测算子对原图像进行锐化操作,比较实验结果;采用拉普拉斯模板进行锐化处理,与上一步骤实验结果相比较。

3.图形的频域处理1)利用循环语句,自己构建理想低通滤波器;对一幅弧度图像进行傅里叶变换,显示其频谱图;对一幅灰度图像作频率域理想低通滤波,调整滤波器半径,观察并记录不同结果,分析原因;2)利用循环语句,自己构建理想高通滤波器;对同一幅灰度图像作频率域理想高通滤波,调整滤波器半径,观察并记录不同结果,分析原因;五、实验结果与分析(可提供屏幕抓图)1.添加高斯噪声与椒盐噪声:结论:高斯噪声的参数越大,图像变得越模糊,亮度也越亮。

数字图像处理实验2

数字图像处理实验2

等,使用多维滤波器H对图像A进行滤波,H常由函数fspecial输出得到。属性参
数如表3所示: 表3 imfilter函数参数表
参数类型
参数
含义
边界选项
‘X’
输入图像的外部边
界通过X来扩展,默
认的X=0
‘symmetric’
输入图像的外部边
3×3。
输出大小选项
滤波方式选项
(8)medfilt2函数
三、Matlab相关函数介绍
(1)imhist函数 功能:统计变显示图像的直方图。 调用格式: imhist(I):显示图像I的直方图。 imhist(I, n):显示图像I的直方图,n指定直方图中的列数。 [COUNTS,X] = imhist(...):返回直方图数据向量COUNTS和相应的色彩值向量X。 (2)histeq函数 功能:直方图均衡化 调用格式: J = histeq(I,hgram):将图像I的直方图变成用户指定的向量hgram,hgram中的各元素值域为[0,1]; J = histeq(I,N):对原始图像I进行直方图均衡化,N为输出图像的灰度技术,默认N为64。 (3)imadjust函数 功能:调整图像灰度值或颜色映射表,增加图像的对比度。 调用格式: J = imadjust(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA):调整图像I的灰度值;[LOW_IN; HIGH_IN]指定原始图像中要变换的灰度范围;[LOW_OUT; HIGH_OUT]指定变换后的灰度范围;低于LOW_IN 、高于 HIGH_IN 的采取截取式;都可以使用空的矩阵[],默认值是[0 1]; GAMMA为标量,指定描述值I和值J关系的曲线 形状,如果小于1,此映射偏重更高数值(明亮)输出,如果

数字图像处理(实验二、三)

数字图像处理(实验二、三)

2.0000 + 2.0000i
4.0000 + 4.0000i
>>
数字图像处理
程序1:图像傅立叶变换
clear
N=100; f=zeros(50,50); % f(15:35,23:28)=1; f(15:35,15:35)=1; figure; imshow(f,'notruesize'); % 显示原始图像 F=fft2(f,N,N); F2=fftshift(abs(F)); % 坐标移位
[cA,cH,cV,cD]=dwt2(Image,'db1');
cod_cA=wcodemat(cA,255); cod_cH=wcodemat(cH,255); cod_cV=wcodemat(cV,255); cod_cD=wcodemat(cD,255);
figure,imshow([cod_cA,cod_cH;cod_cV,cod_cD]/255);
F3=log10(F2); figure; imshow(F3,'notruesize'); Figure; imshow(abs(F),'notruesize'); % 显示 |F(u,v)| 图像 Figure; imshow(log10(abs(F4)),'notruesize'); % 显示移位前log(|F(u,v)|) 图像 % 显示 移位后 log|F(u,v)| 图像
数字图像处理
刘连山
数字图像处理
程序3:
clear all
刘连山
[Image,ImageMap]=imread('e:\刘连山\pictures\lena256\lena.bmp');

数字图像处理实验报告

数字图像处理实验报告

数字图像处理试验报告实验二:数字图像的空间滤波和频域滤波姓名:XX学号:2XXXXXXX 实验日期:2017 年4 月26 日1.实验目的1. 掌握图像滤波的基本定义及目的。

2.1) 一2) 要3) 零填4)5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。

6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。

2. 锐化空间滤波1) 读出一幅图像,采用 3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波。

2) 编写函数w= genlaplacian(n),自动产生任一奇数尺寸n的拉普拉斯算子,如5×5 的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]3) 分别采用5×5,9×9,15×15 和25×25 大小的拉普拉斯算子对b lurry_moon.tif进行锐化滤波,并利用式g(x, y) ?f (x, y) ??2 f (x, y) 完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。

4) 采用不同的梯度算子对该幅图像进行锐化滤波,并比较其效果。

5) 自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同高通滤波器得到的图像与原图像的区别。

3.实验具体实现1. 平滑空间滤波:(1).读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。

实验结果如下:(2).对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。

平滑滤波是低频增强的空间域滤波技术。

它的目的有两个,一是模糊,二是消除噪声。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二MATLAB图像运算一、实验目的
1.了解图像的算术运算在数字图像处理中的初步应用。

2.体会图像算术运算处理的过程和处理前后图像的变化。

二、实验步骤
1.图像的加法运算-imadd
对于两个图像f x,y和 (x,y)的均值有:
g x,y=1
f x,y+
1
(x,y)
推广这个公式为:
g x,y=αf x,y+β (x,y)
其中,α+β=1。

这样就可以得到各种图像合成的效果,也可以用于两张图像的衔接。

说明:两个示例图像保存在默认路径下,文件名分别为'rice.png'和'cameraman.tif',要求实现下图所示结果。

代码:
I1 = imread('rice.png');
I2 = imread('cameraman.tif');
I3 = imadd(I1, I2,'uint8');
I4 = imadd(I1, I2,'uint16');
subplot(2, 2, 1), imshow(I1), title('Ô-ʼͼÏñ1');
subplot(2, 2, 2), imshow(I2), title('Ô-ʼͼÏñ2');
subplot(2, 2, 3), imshow(I3), title('8λͼÏñÏÔʾ');
subplot(2, 2, 4), imshow(I4), title('16λͼÏñÏÔʾ');
结果截图:
2.图像的减法运算-imsubtract
说明:
背景图像可通过膨胀算法得到background = imopen(I,strel('disk',15));,要求实现下图所示结果。

示例代码如下:
I1 = imread('rice.png');
background = imerode(I1, strel('disk', 15));
rice2 = imsubtract(I1, background);
subplot(2, 2, 1), imshow(I1), title('Ô-ʼͼÏñ');
subplot(2, 2, 2), imshow(background), title('±³¾°Í¼Ïñ');
subplot(2, 2, 3), imshow(rice2), title('´¦ÀíºóµÄͼÏñ');
结果截图:
3.图像的乘法运算-immultiply
说明:示例图像保存在默认路径下,文件名分别为'moon.tif',要求实现下图所示结果(整体亮度增加1.5倍)。

代码如下:
moon = imread('moon.jpg');
moon2 = immultiply(moon, 1.5);
subplot(1, 2, 1), imshow(moon), title('Ô-ʼͼÏñ');
subplot(1, 2, 2), imshow(moon2), title('´¦ÀíºóµÄͼÏñ');
4.图像的除法运算-imdivide
K=imdivide (I,J);
图像的除法通常用于校正成像设备的非线性误差,也可用于检测两张图像间的差别,它给出的相应像素的变化比率,而不是每个像素的绝对差异。

代码如下:
>> I=imread('cameraman.tif');
>> J = double(I);
>> J = J*0.43+90;
>> I2 = uint8(J);
>> Ip = imdivide(I,I2);
>> imshow(Ip,[])
结果
5.图像更的几何运算
Matlab提供了图像大小变化、旋转、错切、删除及反射等图像的几何操作,达到图像的配准和几何校正的目的。

(1)改变图像的大小-imresize
说明:要求将图像大小缩小至原来的一半
代码:
I1 = imread('rice.png');
I2= imresize(I1, 0.5);
结果截图
(2)图像旋转-imrotate
说明:要求将图像逆时针旋转90度
代码:
I1 = imread('cameraman.tif');
I2= imrotate(I1, 90);
结果截图
(3)空间变换
说明:要求对图像进行仿射变换
>> I = imread('cameraman.tif');
tform = maketform('affine',[1 0 0; .5 1 0; 0 0 1]); J = imtransform(I,tform);
imshow(I), figure, imshow(J)
三、思考题
由图像算术运算的运算结果,思考图像减法运算在什么场合上发挥优势?。

相关文档
最新文档