数字图像处理灰度变换与空间域matlab
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号: 0000000000 姓名:0000000
实验一灰度变换与空间域滤波
一.实验目的及要求
1.了解MATLAB的操作环境和图像处理工具箱Image Processing Toolbox的功能;2.加深理解图像灰度变换与空间域滤波概念和算法原理;
3.掌握MATLAB中图像灰度变换与空间域滤的实现方法。
二、实验内容
(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。利用MATLAB帮助文档熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。(可将每段程序保存为一个.m文件)
1.图像及视频文件的基本操作
(1)RGB彩色图像数据的读写操作
clear all; %清除工作空间的所有变量,函数,和MEX文件
close all; %关闭所有的Figure窗口
%查看一幅RGB彩色图像文件的信息
fileinfo = imfinfo('Fig0701_fruits.jpg')
%暂停,阅读命令窗口中的结果,按空格键继续
pause;
%读取该图像
I=imread('Fig0701_fruits.jpg');
%显示图像
imshow(I); title('Original RGB true color image');
%查看图像像素信息,在图像上移动鼠标,注意左下角的信息
impixelinfo;
%暂停,按空格键继续
pause;
% 读取图像的颜色分量,并保存到二维矩阵变量中
IR = I(:,:,1);
IG = I(:,:,2);
IB = I(:,:,3);
%以灰度图像的方式显示各颜色分量
figure, imshow(IR); title('R分量');
figure, imshow(IG); title('G分量');
figure, imshow(IB); title('B分量');
%在图像左上角画一条5像素宽、100像素长的水平稍暗红线
I(31:35,61:160,1)=200;
I(31:35,61:160,2)=0;
I(31:35,61:160,3)=0;%
%显示处理结果
figure, imshow(I); title('在图像背景中画红线');
%将结果保存为tif格式图像文件
imwrite(I,'fruits_bar.tif');
%--------------------------------------------------------------------------------
(2)索引图像与 RGB彩色图像之间的转换
close all;
clear all;
%读入一幅RGB彩色图像
IRGB=imread('Fig0701_fruits.jpg');
%显示读入的RGB彩色图像
figure, imshow(IRGB); title(' Original RGB image');
%把RGB彩色图像转换为索引图像,为了比较差异,选择颜色表中的颜色数量为64 [Xind, map] = rgb2ind(IRGB,64);
%显示转换后的索引图像
figure, imshow(Xind, map); title('Converted to Indexd image');
%将结果保存为tif格式图像文件
imwrite(Xind,map,'fruits_indexed.tif');
%读入一幅彩色索引图像并显示
[Ind, map2]=imread('trees.tif');
figure, imshow(Ind, map2); title(' Original Indexd image');
%查看图像像素信息,在图像上移动鼠标,注意左下角的信息
impixelinfo;
%暂停,按空格键继续
pause;
%把索引图像转换为RGB彩色图像
Irgb = ind2rgb(Ind, map2);
%显示得到的彩色图像
figure, imshow(Irgb); title('Converted to RGB image');
%将结果保存为jpg格式图像文件
imwrite(Irgb,'trees_rgb.jpg');
%--------------------------------------------------------------------------
(3)彩色图像转换为灰度图像和无彩色图像
close all;
clear all;
%读取一幅RGB彩色图像
Irgb=imread('Fig0701_fruits.jpg');
%将其转换为灰度图像
Igray1 = rgb2gray(Irgb);
%显示转换结果
figure, imshow(Irgb); title('Original RGB image');
figure, imshow(Igray1); title('Converted gray image');
%将上述RGB彩色图像转换为无彩(灰色)彩色图像,
%即转换后的图像数据仍为RGB彩色图像格式
%创建一个与真彩色图像转维数相同的uint8型矩阵
Iachro=uint8(zeros(size(Irgb)));%
Iachro (:,:,1)=Igray1;
Iachro (:,:,2)=Igray1;
Iachro (:,:,3)=Igray1;
%显示转换的无彩色图片
figure, imshow(Iachro); title('Converted achromatic color image'); %--------------------------------------------------------------------------------