文档详情

河北工业大学数字图像处理之matlab实验报告.doc

发布:2016-12-22约8.74千字共27页下载文档
文本预览下载声明
实验一 实验要求 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)
显示全部
相似文档