数字图像处理大作业.doc

上传人:xin****828 文档编号:6616589 上传时间:2020-02-29 格式:DOC 页数:11 大小:1.89MB
返回 下载 相关 举报
数字图像处理大作业.doc_第1页
第1页 / 共11页
数字图像处理大作业.doc_第2页
第2页 / 共11页
数字图像处理大作业.doc_第3页
第3页 / 共11页
点击查看更多>>
资源描述
数字图像处理1.图像工程的三个层次是指哪三个层次?各个层次对应的输入、输出对象分别是什么?图像处理 特点:输入是图像,输出也是图像,即图像之间进行的变换。图像分割特点:输入是图像,输出是数据。图像识别特点:以客观世界为中心,借助知识、经验等来把握整个客观世界。“输入是数据,输出是理解。2.常用的颜色模型有哪些(列举三种以上)?并分别说明颜色模型各分量代表的意义。RGB(红、绿、蓝)模型CMY(青、品红、黄)模型HSI(色调、饱和度、亮度)模型3.什么是图像的采样?什么是图像的量化? 1采样 采样的实质就是要用多少点来描述一幅图像,采样结果质量的高低就是用前面所说的图像分辨率来衡量。简单来讲,对二维空间上连续的图像在水平和垂直方向上等间距地分割成矩形网状结构,所形成的微小方格称为像素点。一副图像就被采样成有限个像素点构成的集合。例如:一副640*480分辨率的图像,表示这幅图像是由640*480307200个像素点组成。2量化 量化是指要使用多大范围的数值来表示图像采样之后的每一个点。量化的结果是图像能够容纳的颜色总数,它反映了采样的质量。针对数字图像而言:采样决定了图像的空间分辨率,换句话说,空间分辨率是图像中可分辨的最小细节。量化决定了图像的灰度级,即指在灰度级别中可分辨的最小变化。数字图像处理(第三次课)调用图像格式转换函数实现彩色图像、灰度图像、二值图像、索引图像之间的转换。图像的类型转换:对于索引图像进行滤波时,必须把它转换为RGB图像,否则对图像的下标进行滤波,得到的结果是毫无意义的;灰度图像到索引图像X,map=gray2ind(I, n)将灰度图像I转化成索引图像真彩图像到二值图像BW=im2bw(RGB, level)基于level将彩色图像RGB转化为二值图像真彩色图像到灰度图像I=rgb2gray(RGB)将真彩图像RGB转换为灰度图像I真彩色图像到索引图像X,map=rgb2ind(RGB,n)X,map=rgb2ind(RGB,tol)直接将真彩图像RGB转化为索引图像X并返回颜色图图像抖动转换图像X=dither(RGB, map)BW=dither(I)通过颜色图将RGB图像转化为近似的索引图X;或把灰度图像I转化为二值图像2.用MATLAB完成灰度图像直方图统计代码设计。123456789101112131415161718192021222324252627282930function ladylenna()a=imread(C:lenna.jpg); %读取图像至工作空间 imfinfo(C:lenna.jpg) %查看图像信息 subplot(2,2,1); imshow(a); title(lady-lenna); if isrgb(a); b=rgb2gray(a); %RGB转换为灰度图像 end subplot(2,2,2); imshow(b); %显示图像 title(ladygaga-lenna); m,n=size(a); %返回图像大小 e=zeros(1,256); for k=0:255 for i=1:m for j=1:n if a(i,j)=k e(k+1)=e(k+1)+1; %灰度值相同的进行累加 end end end end subplot(2,2,4); bar(e); %画图像的灰度直方图 title(灰度直方图); c=imrotate(a,20); %图像的旋转 subplot(2,2,3);imshow(c);数字图像处理(第四次课) 编写matlab函数,实现在医学图像中数字减影血管造影。即实现两幅图像的差值图像。123456789实验代码 I=imread(F:图像处理1.jpg);%原始图像imshow(I);BK=imread(F:图像处理2.jpg);%背景figure;imshow(BK);Ip=imsubtract(I,BK);%图像减背景figure;imshow(Ip,)实验结果:图像剪切: 任意选择一幅图片,实现图像的镜像。这题其实就是一个函数imcrop()的使用而已。12345678910close all;clear all;clc;img=imread(F:图像处理3.jpg);imshow(img);imgn=imcrop(); %这里把要裁剪的图像框出来figure;imshow(imgn) %显示裁剪的图像实验结果: 实现图像的镜像: 1234567891011121314151617181920实验代码 clear all; close all; clc; A=imread(F:图像处理4.jpg); height,width,dim=size(A); tform=maketform(affine,-1 0 0;0 1 0;width 0 1); B=imtransform(A,tform,nearest);%B中存储的是经过水平镜像变换后的图像 tform2=maketform(affine,1 0 0;0 -1 0;0 height 1); C=imtransform(A,tform2,nearest);%C中存储的是经过竖直镜像变换后的图像 subplot(1,3,1),imshow(A); title(原图像); subplot(1,3,2),imshow(B); title(水平镜像); subplot(1,3,3),imshow(C); title(坚直镜像); subplot(2,2,3);imshow(c);实验结果:数字图像处理(第五次课)数字图像增强有哪些方法?图像增强可分成两大类:频率域法和空间域法。前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。后者空间域法中具有代表性的算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声。数字设一幅图像有如下图所示直方图,若对其进行直方图均衡处理,求出增强后的灰度分布,并给出处理后的直方图。012345670.10.20.30.40.50.1740.0880.0860.080.0680.0580.0620.384实验代码:1234567891011121314151617181920212223242526272829303132333435363738394041clc clear all prob0=.174 .088 .086 .08 .068 .058 .062 .384; zero0=zeros(1,8); for i=1:8 if i=1 zero0(1)=prob0(1); else zero0(1,i)=zero0(1,i-1)+prob0(1,i); end end for i=1:8 if i=1 zero0(1)=prob0(1); else zero0(1,i)=zero0(1,i-1)+prob0(1,i); end end zero1=zeros(1,8); for i=1:8 for j=0:7 a=abs(zero0(i)-j/7); if a1/14 zero1(j+1)=zero1(j+1)+prob0(i); end end end b=find(zero1=0); zero1(b)=; prob1=zero1; subplot(121) bar(prob0) title(均衡化前) subplot(122) bar(prob1) title(均衡化后)title(均衡化前) subplot(122) bar(prob1) title(均衡化后)实验结果:数字图像处理(第六次课)利用help,学习imfilter和fspecial函数的用法,编写程序创建3*3的均值滤波器和半径为5的圆形滤波器对图像进行平滑处理;MATLAB提供了基于卷积的图像滤波函数imfilter进行平滑滤波,该函数用指定的滤波器模板对图像进行运算。其调用格式为: B = imfilter(h,A) B = imfilter(h,A,shape) 其中B=imfilter(h,A)返回图像A经算子h滤波后的结果,参数shape指定滤波的计算范围,即: shape=full时,作边界补零 shape=same时,返回图像B与输入图像A大小相同 shape=valid时,不考虑边界补零,只计算有效输出部分。 此外,也可以使用imfilter函数进行卷积或相关性滤波来实现图像平滑。该 函数的调用格式为: B = imfilter(A,H) B = imfilter(A,H, option1,option2,) 其中B=imfilter(A,H)返回图像A经算子h滤波后的结果; B=imfilter(A,H, option 1, option 2,)是根据指定的option参数实现图像 滤波。option参数可以有下列取值: 边界填充选项 对一幅图像进行滤波时,零填充可能会导致图像被一个黑框围绕,为了消除 零填充的人工痕迹,imfilter函数支持三种可选的边界填充方法: symmetric 边界对称 replicate 边界复制,缺省值 circular 边界循环 输出尺寸选项 其选项与imfilter函数的shape参数相同。 滤波选项 corr 使用相关性来进行滤波,缺省使用此方法 conv 使用卷积方法实现滤波学习ordfilt2函数的用法,编程调用该函数利用不同的统计排序滤波器实现图像滤波。 中文理解函数名就是顺序滤波函数,后面的2表示的是2维滤波,常用的调用形式如下:1.B = ordfilt2(A,order,domain)这种形式中,A为被滤波的矩阵,order表示选取由domain确定的邻域中第order个元素替换A中的元素,存入B中。示例如下:Y=ordfilt2(X,5,ones(3) ; /相当于3*3窗口的中值滤波Y=ordfilt2(X,1,ones(3); /相当于3*3窗口的最小值滤波需要注意的是,domain矩阵中可能会有某些位置为零(不为零的位置为1),这种为零的位置不算在顺序统计的领域之中。也就是说:Y=ordfilt2(X,1,0 1 0;1 0 1;0 1 0) 表示用窗口表示的邻域中不为零的位置的像素值中选择最小的替代原来的像素值。2.B = ordfilt2(A,order,domain,S)暂时没搞明白S是做啥用的,好像一时半会儿也用不到,先记录着,以后想明白了再更新利用help,学习edge函数的用法,并思考如何利用edge函数使用不同锐化算子对图像进行锐化。1)利用matlab提供的edge函数,选择三种边缘检测算子,分别对图像Lena.tif和baboon.tif进行边缘检测显示检测结果。 2)对Lena.tif和baboon.tif分别添加高斯和椒盐噪声,然后对有噪声的图像进行边缘检测,显示检测出的边缘图像12345678910111213141516171819202122232425262728293031323334clear all %清空工作空间 I=imread(lena.jpg); %读入图像 BW=edge(I,sobel); %sobel算子分析BW2=edge(I,log); %拉普拉斯算子分析 BW3=edge(I,prewitt); %梯度算子分析 J1=imnoise(I,gaussian,0,0.02); %添加高斯噪声 J2=imnoise(I,salt & pepper,0.02); %添加椒盐噪声 BW4=edge(J1,sobel); %高斯噪声后sobel算子分析 BW5=edge(J2,log); %椒盐噪声后laplace算子分析 BW6=edge(J1,log); %高斯噪声后laplace算子分析 BW7=edge(J2,sobel); %椒盐噪声后sobel算子分析 BW8=edge(J1,prewitt); %高斯噪声后梯度算子分析 BW9=edge(J2,prewitt); %椒盐噪声后梯度算子分析 figure; %显示所需图像 subplot(2,2,1);imshow(I);xlabel(原图) subplot(2,2,2);imshow(BW);xlabel(sobel算子分析) subplot(2,2,3);imshow(BW2);xlabel(拉普拉斯算子分析) subplot(2,2,4);imshow(BW3);xlabel(梯度算子分析) figure; subplot(2,2,1);imshow(J1);xlabel(添加高斯噪声) subplot(2,2,2);imshow(BW4);xlabel(高斯噪声后sobel算子分析) subplot(2,2,3);imshow(BW6);xlabel(高斯噪声后拉普拉斯算子分析) subplot(2,2,4);imshow(BW8);xlabel(高斯噪声后梯度算子分析) figure; subplot(2,2,1);imshow(J2);xlabel(添加椒盐噪声) subplot(2,2,2);imshow(BW5);xlabel(椒盐噪声后拉普拉斯算子分析) subplot(2,2,3);imshow(BW7);xlabel(椒盐噪声后sobel算子分析) subplot(2,2,4);imshow(BW9);xlabel(椒盐噪声后梯度算子分析)
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!