CHAPTER2 图像处理的基础函数
【使用的教材:冈萨雷斯 数字图像处理MATLAB(Digital image processing with Matlab】
【原书图片下载地址:点这里】
先介绍三个MATLAB中图片基本操作:imread
imshow
imwrite
2.2读取图片
imread(filename)
imread
是读取图片的函数,图片是以二维(灰色图像)或三维(彩色图像)存储的,imread
可以读取图片的像素矩阵信息,并进行后续处理。
filename这里填写相对路径或绝对路径都可。
%相对路径
f = imread('chestxray.jpg');
%绝对路径
f = imread('C:Users一只小地瓜Desktop图像处理实验chestxray.jpg');
接下来查看图片信息
%二维图像 黑白图
[M,N] = size(f);
%三维图像 彩色图
[M,N,P] = size(f);
M,N返回行列;P=3,代表RGB,为三维矩阵。
在命令窗即Command Window中输入whos f
并回车,可以返回图像大小(Size),所占字符大小(Bytes),类型(Class)
结果如下:
2.3 显示图片
imshow
将像素矩阵在figure中以图像的形式展现出来 imshow(filename)
imshow(I)
在图窗中显示灰度图像 I
。imshow
使用图像数据类型的默认显示范围,并优化图窗、坐标区和图像对象属性以便显示图像。
imshow(I,[low high])
显示灰度图像 I
,以二元素向量 [low high]
形式指定显示范围。
impixelinfo
这个函数可以展示光标所在位置像素点的位置及灰度值
涉及知识点:
- 图像坐标左上角为原点,主要是考虑到矩阵的第一个元素在阵列的左上角
- RGB全为0时为黑色,RGB全为256时为白色,这是因为三种颜色的完全混合相加就是白色,参照太阳光。
2.4 生成图片
imwrite
函数能够将像素矩阵写入文件中
imwrite(f,filename)
将像素矩阵f,写入文件filename中。如果filename没有指定路径,则存在当前工作文件夹下
imwrite(f,'chestXray2.jpg')