- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一
实验要求
1、熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱,为编写图像处理程序奠定基础。
2、掌握二进制(黑白)图像、灰度图像、彩色图像读、写和显示的基本方法,分别选择以上几种类型的图像,观察其图像类型参数。
3、说明以下程序的显示结果为何是一幅几乎全黑的图像。
clear; close all;
myi=zeros(20,20);
myi(2:2:18,2:2:18)=1;
myi=uint8(myi);
figure, imshow(myi,notruesize);
编写程序将图一中orangutan_1.tif图片拉伸一倍后形成orangutan_2.tif所示的图片。
4、应用MATLAB(或C)语言编写一幅灰度图像直方图统计程序,并选择一幅图像显示其直方图,将结果与MATLAB图像处理工具箱中提供的灰度直方图函数imhist的处理结果进行比较。
5、利用以上编写的程序,估算图一所示图像iris.tif中的瞳孔半径(以像素为单位)。
orangutan_1.tif orangutan_2.tif iris.tif
图一
实验内容
1,通过安装matlab软件,熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱
2,图像的读、写、显示和图像类型参数查看
通过 I= imread(FILENAME),读取图像,注意FILENAME=‘图像文件所在的位置+文件名’;
通过imwrite(a,FILENAME,fmt),可以把a图像写进FILENAME图像,即是替换掉FILENAME,但是文件图像格式不替换。
通过imshow(I),可以把I图像显示出来。
例如:在matlab软件中,运行如下命令:
I = imread(E:\orangutan_2.tif);
figure,imshow(I)
I1 = imread(E:\iris.tif);
figure,imshow(I1)
imwrite(I,E:\iris.tif,tif)
I2 = imread(E:\iris.tif);
figure,imshow(I2)
原图:
orangutan_2.tif iris.tif
运行结果:
可以看到orangutan_2.tif已成功写入 iris.tif中。
在matlab的可以查看各图像类型的参数
先在workspace中导入一幅名为xx.jpg的真彩图,然后在命令窗口输入如下命令:
I8= imread(E:\iris.tif);
I64=double (I8)/255;
imshow(I64);
将一幅名为iris.tif的灰度图像转换成二值图像,然后观察workspace中显示的二值图像、灰度图像、和真彩图像的参数如下图所示
3,全黑图像的解释和拉伸图像程序
、解释
由程序myi=uint8(myi);可知此程序编写的图像在计算机中采用的是8位存储,即灰度值为0~255,其中0为黑,255为白,中间值为由黑向白过度的值。而程序myi=zeros(20,20);构造了一个20行20列的0值矩阵,程序myi(2:2:18,2:2:18)=1;将1赋值给矩阵的2,4,6,8,10,12,14,16,18行和2,4,6,8,10,12,14,16,18列,即这些位置的值为1。因为0,1都在人眼识别的黑色范围内,固图像是全黑的,如果将myi(2:2:18,2:2:18)=1;改为myi(2:2:18,2:2:18)=255;就会发现图像是黑白相间的条格。
、纵向二倍拉伸图像代码
T1 = maketform(affine,[1 0 0; 0 2 0; 0 0 1]);
I = imread(E:\orangutan_1.tif);
I1 = imtransform(I,T1);
imshow(I),figure,imshow(I1)
4,灰度图像直方图统计程序
1)编写的程序
img=imread(E:\iris.tif);
imshow(img);
[M,N]=size(img);
img=double(img);
h=zeros(256,256);
for i=1:M,
for j=1:N,
f=img(i,j);
h(f+1)=h(f+1)+1;
end
end
figure;bar(h);grid;
2)直接调用MATLA
文档评论(0)