图像处理技术试验指导书.DOC
文本预览下载声明
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 1
数字图像处理
实验指导书
李俊
电子工程与自动化学院
MATLAB注意事项
seq MATLAB注意事项 1. 一个题目一个m脚本文件,不允许不同题目写在同一个m文件里面;任何一个脚本文件前面都添加一行clc; clear all; close all
seq MATLAB注意事项 2. m脚本文件按F5直接运行
seq MATLAB注意事项 3. 验收时,展示脚本文件和函数文件。在交互界面中展示的,0分
seq MATLAB注意事项 3. MATLAB源程序名字采用变量的命名规则,即字母开头,后面紧跟字母数字或者下划线
seq MATLAB注意事项 4. 区分脚本文件和函数文件,不在函数文件中做与函数无关的操作
seq MATLAB注意事项 5. 在不需要输出的语句末尾,添加分号
seq MATLAB注意事项 6. 调大MATLAB界面文字到18
MATLAB的多数函数,可以使用不同参数调用。请弄清楚不同参数的含义
程序变量要有可读性,避免使用意义不明的i、j
使用MATLAB的矩阵思想编程,避免使用C等语言中的for循环方式、低效地处理矩阵元素
实验一 Matlab数字图像处理基础(综合性)
一、实验目的
1 熟悉Matlab软件中图像输入/输出/显示/转换的基本命令;
2 熟悉图像IO基本函数、矩阵与图像和图像格式的对应关系、灰度/彩色/二值图像的相互转换;
3 熟悉Matlab驱动摄像头获取数据的方法;
4 要求熟练运用Matlab软件中数字图像灰度增强点运算,包括灰度对比度增强和直方图均衡的相关命令;
5 熟练运用Matlab软件中相关的数字图像灰度增强领域运算命令进行空域灰度增强、中值滤波。
二、实验基本命令
1 数字图像读入与输出
1.1 InImg=imread(‘图像文件’): 读入指定的图像文件到内存
InImg:矩阵变量,保存读入的数字图像;图像文件:全路径的图像文件名(格式为bmp、jpg等等);
1.2 imwrite(OutImg, ‘图像文件’): 输出内存中图像数据到文件
OutImg:矩阵变量,保存的数字图像;图像文件:全路径的图像文件名(格式为bmp、jpg等等);
1.3 whos ImgData: 屏幕输出图像的相关信息
ImgData: 矩阵变量,保存在内存中的数字图像
2 数字图像显示
2.1 imshow(ImgData,[low, high]): 将图像文件显示到屏幕
ImgData: 矩阵变量,保存待显示的数字图像;
[low, high]: 是可选的。所有小于或者等于low的值都被显示为黑色,所有大于或者等于high的值都被显示为白色,其余值显示为不同的灰度值;当简写[low, high]为[]的时候,low是ImgData中的最小值,high是其中的最大值;
2.2 subplot(行数,列数,区域索引); imshow(ImgData): 将图像文件显示到指定的屏幕区域
ImgData: 矩阵变量,保存待显示的数字图像;
行数,列数:屏幕划分区域数(行数*列数);区域索引:第n块区域(1=n=行数x列数)
3 数字图像转换
3.1 I=rgb2gray(rgbImg): 将彩色图像转换为灰度图像
rgbImg: 矩阵变量,保存彩色图像;
I: 矩阵变量,保存灰度图像
3.2 bw=im2bw(Img,level): 将灰度图像转换为二值图像;
Img: 矩阵变量,保存彩色图像或灰度图像;
level: 灰度级阈值( level 为1; level 为0)
bw: 矩阵变量,二值图像
3.3 I=mat2gray(X) : 将矩阵转换为灰度图像;
X: 矩阵变量;I: 灰度图像;
4 从摄像头获取数据
4.1 了解摄像头的属性
cam_info = imaqhwinfo(winvideo) 返回一个结构体,里面比较重要的是 DeviceID 和 DeviceInfo。DeviceID存储着电脑上所有可用摄像头的ID,每个ID对应一个摄像头。DeviceInfo中存储着每个摄像头的信息。例如
cam_info = imaqhwinfo(winvideo)
cam_info =
AdaptorDllName: [1x76 char]
AdaptorDllVersion: 1.9 (R14SP3)
AdaptorName: winvideo
DeviceIDs: {[1]}
DeviceInfo: [1x1 struc
显示全部