任务安排:
1、熟悉matlab软件使用以及常用图像处理函数(如读取、显示、截取、保存图像等函数);
2、理解图像、图像处理的概念(如图像数字化、图像的表示、图像的类型、像素值的概念等)。
任务完成:
安装matlab软件
首先要安装matlab软件,没有安装的可以使用下面链接来下载:
链接:https://pan.baidu.com/s/1d5lInTqcn7Tab5ZmPPnvnA
提取码:luyq
- matlab的基本操作
读取、显示、截取、保存图像
clear;close all
%清除matlab工作平台的所有变量
A=imread('D:\shipin\basic\kaifeng.jpg');
%读取名字为kaifeng.jpg的图片数据存储给A
imshow(A);
%显示图片A
[x,y]=ginput(2);
%用鼠标选定要剪切的区域以此获取两个坐标点并以矩形方式裁剪
a=imcrop(A,[x(1),y(1),x(2),y(2)]);
裁剪图像
imshow(a);
显示裁剪后的图像
imwrite(a,'D:\shipin\basic\cutA.jpg')
保存图像a,保存路径为D:\shipin\basic,保存后的图片文件名为cutA
清除工作
clc:清除命令窗口的内容,对工作环境中的全部变量无任何影响
close:关闭当前的Figure窗口
close all:关闭所有的Figure窗口
clear:清除工作空间的所有变量
clear all:清除工作空间的所有变量,函数,和MEX文件
读取文件夹里同一类型的所有图片
lear;close all
%清除matlab工作平台的所有变量
path='D:\shipin\basic\';
%存放图片的文件夹路径
im_list = dir(strcat(path,'*.jpg'));
%读取文件夹中的.png文件
number=length(im_list);
%取得文件夹中图片个数
for i = 1:number %采用循环方式读取图片
im_name =im_list(i).name; %将图片列表中图片赋给im_name
picture = imread(strcat(path,im_name)); %读取图片
figure(); %创建新的窗口用来显示图片
imshow(picture);
end
图片转化(灰度、彩色、负片)
clear;close all
A=imread('D:\shipin\basic\kaifeng.jpg');
imshow(A);
greyA=rgb2gray(A);
%将彩色图片A转换为灰度图片greyA
figure,imshow(greyA);
A1=imadjust(greyA,[0,1],[1,0]);
%将灰度图片greyA转换为负片A1,即图片中白的变为黑的,黑的变为白的
figure(),imshow(A1);
- 图像的概念和基本操作
图像数字化
图像数字化是将连续色调的模拟图像经采样量化后转换成数字影像的过程。采样和量化的结果都是实数矩阵。
常见的模拟图像转换数字图像的设备有:
扫描仪
打印机
数码相机
模拟图像和数字图像
模拟图像:空间上连续/不分割、信号值不分等级的图像。典型代表是由光学透镜系统获取的图像。
数字图像:空间上被分割成离散像素,由模拟图像数字化得到的、以像素为基本元素的、可以用数字计算机或数字电路存储和处理的图像。
模拟图像处理的方式很少,往往只能进行简单的放大、缩小;而数字图像还可以进行变形、改变亮度、色度等操作,因此图像数字化是进行数字图像处理的前提。
采样和量化
采样是按照某种时间间隔或空间间隔,采集模拟信号的过程,采样是对x,y坐标离散化。
量化是将采集到的模拟信号归到有限个信号等级上,量化是对幅度值(灰度级)的离散化。
图像的类型
二值图像:
一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代白色。由于每一像素(矩阵中每一元素)取值仅有0、1两种可能,所以计算机中二值图像的数据类型通常为1个二进制位。二值图像通常用于文字、线条图的扫描识别(OCR)的存储。
灰度图像:
灰度图像矩阵元素的取值范围通常为[0,255],因此其数据类型一般为8位无符号整数的(int8),这就是256灰度图像。“0”表示纯黑色,“255”表示纯白色,中间的数字从小到大表示由黑到白的过渡色。灰度图像也可以用双精度数据类型(double)表示,像素的值域为[0,1],0代表黑色,1代表白色,0到1之间的小数表示不同的灰度等级。二值图像可以看成是灰度图像的一个特例。
索引图像:
索引图像的文件结构比较复杂,除了存放图像的二维矩阵外,还包括一个颜色索引矩阵MAP。MAP的大小由存放图像的矩阵元素值域决定,如矩阵元素值域为[0,255],则MAP矩阵的大小为256ⅹ3,用MAP=[RGB]表示。MAP中每一行对应图像矩阵像素的一个灰度值,每一行的三个元素分别指定该行对应颜色的红、绿、蓝单色值,如某一像素的灰度值为64,则该像素就与MAP中的第64行建立了映射关系,该像素在屏幕上的实际颜色由第64行的[RGB]组合决定。索引图像的数据类型一般为8位无符号整形(int8),因此一般索引图像只能同时显示256种颜色。索引图像一般用于存放色彩要求比较简单的图像,如果图像的色彩比较复杂,就要用到RGB真彩色图像。
RGB彩色图像:
与索引图像一样,RGB图像分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。但与索引图像不同的是,RGB图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由R、G、B三个分量来表示,M、N分别表示图像的行列数,三个M x N的二维矩阵分别表示各个像素的R、G、B三个颜色分量。RGB图像的数据类型一般为8位无符号整形,通常用于表示和存放真彩色图像,也可以存放灰度图像。
像素和分辨率
像素是图像中的最小单位,是组成图像的一个个小方格,这些小方格都有一个明确的位置和被分配的色彩数值(像素值),小方格颜色和位置就决定该图像所呈现出来的样子。
图像分辨率是指每英寸图像中所包含的像素点数。图像的分辨率越高,所包含的像素就越多,图像就越清晰。
描述分辨率的单位有:dpi(点每英寸)、lpi(线每英寸)、ppi(像素每英寸)和PPD(PPPixels Per Degree 角分辨率,像素每度)。