数字图像处理上机作业一..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字图像处理上机作业一.

数字图像处理上机作业一 设计一个程序,绘制出一幅灰度图象的直方图。 Solution: 代码及代码的说明: %作用:返回灰度矩阵a,并画出直方图 function a=zhifangtu(x) % x为要分析的图像名加单引号 I=imread(x); b=size(I); a=zeros(1,256); % a为一个1*256的矩阵分别记录灰度为0到255的像 %的个数 for m=1:b(1) %两个for语句将整张图的所有像素都扫描一遍 for n=1:b(2) a(I(m,n)+1)= a(I(m,n)+1)+1; %将灰度为I(m,n)的像素个数存储在%a(I(m,n)+1)中,因为matlab里没有 %a(0) end end n=0:255; bar(n,a); %画出直方图 s=sum(a) %查看直方图的总的面积等于这张图的总像素值 实验结果及分析: 在命令窗口中输入zhifangtu(Lenna.bmp) 返回s =262144,以及灰度矩阵a,同时有如下直方图输出: 分析及结论: 在命令窗口中用size命令可查知Lenna.bmp是512*512的,返回的s =262144恰等于512*512,说明所编的直方图的程序恰将所有的像素点都统计了,直方图的总面积等于像素总数。直方图的作用也就是将一张图中不同灰度值对应像素数的一个统计。 在这个程序的编写中应注意a(I(m,n)+1)= a(I(m,n)+1)+1 不能写成a(I(m,n))= a(I(m,n))+1 ,应为在matlab中矩阵表示没有a(0),若某个像素点的灰度值是0,就会出错,故应写成a(I(m,n)+1)= a(I(m,n)+1)+1形式。 2.对同一场景但模糊程度不一样的三张数字图像绘制出其直方图, 计算每一幅图象所有像素灰度的方差。图象的清晰度同灰度方差什么关系? Solution: 代码及代码的说明: %作用:绘出模糊程度不一样的三张数字图像的直方图,并输出各自灰度方差 I1=imread(tu1.bmp); I1=rgb2gray(I1); %转换为灰度图像 imwrite(I1,tu0.bmp); %由于直方图只能对灰度图作用,故先将其转为灰度图 subplot(2,2,1);zhifangtu(tu0.bmp); title(tu1直方图); %绘出tu1.bmp的直方图 k1=size(I1); I1=single(I1);I1=(I1-mean(mean(I1))).^2; %个像素灰度值减去平均灰 %值后再平方 t1=sum(sum(I1))/k1(1)/k1(2), %输出tu1.bmp的所有像素灰度的方差 subplot(2,2,2);zhifangtu(tu2.bmp); title(tu2直方图); %绘出tu2.bmp的直方图 I2=imread(tu2.bmp); k2=size(I2); I2=single(I2);I2=(I2-mean(mean(I2))).^2; %个像素灰度值减去平均灰度值后再%平方 t2=sum(sum(I2))/k2(1)/k2(2), %输出tu2.bmp的所有像素灰度的方差 subplot(2,2,3);zhifangtu(tu3.bmp); title(tu3直方图); %绘出tu3.bmp的直方图 I3=imread(tu3.bmp); k3=size(I3); I3=single(I3);I3=(I3-mean(mean(I3))).^2; %个像素灰度值减去平均灰度值%后再平方 t3=sum(sum(I3))/k3(1)/k3(2), %输出tu3.bmp的所有像素灰度的方差 figure; subplot(2,2,1);imshow(tu1.bmp); title(tu1图); %绘出tu1.bmp的图 subplot(2,2,2);imshow(tu2.bmp); title(tu2图); %绘出tu1.bmp的图 subplot(2,2,3);imshow(tu3.bmp); title(tu3图); %绘出tu1.bmp的图 实验结果及分析: 上述代码执行

文档评论(0)

stzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档