MATLAB数字图像处理(一)——图像打开、保存与显示

文章目录

  • 准备工作
  • 读入与显示图像
  • 分离RGB图像
  • 添加噪声

准备工作

本篇博客所用图像都保存在Matlab安装目录下的\toolbox\images\imdemos子目录中。我们在当前matlab新建文件夹work,然后将所用图像拷贝到work文件夹中。
本次所用图像
MATLAB数字图像处理(一)——图像打开、保存与显示_第1张图片

读入与显示图像

读入一个灰度图像 pout.tif,并显示。

>> I_huidu=imread('pout.tif');
>> figure(1),imshow(I_huidu),title('灰度图像');

MATLAB数字图像处理(一)——图像打开、保存与显示_第2张图片
读入一个二值图像 circles.png,并显示。

>> I_erzhi=imread('circles.png');
>> figure(2),imshow(I_erzhi),title('二值图像');

MATLAB数字图像处理(一)——图像打开、保存与显示_第3张图片
读入一个二值图像 blobs.png,并显示。

>> I_erzhi2=imread('blobs.png');
>> figure(3),imshow(I_erzhi2),title('二值图像');

MATLAB数字图像处理(一)——图像打开、保存与显示_第4张图片
我们观察一下工作区两个二值图像的类型,发现一个是uint8,一个是logical,这是因为保存格式不同

读入一个索引图像 trees.tif,并显示。

>> [I_suoyin,colormap]=imread('trees.tif');
>> figure(5),imshow(I_suoyin,colormap),title('索引图像');

MATLAB数字图像处理(一)——图像打开、保存与显示_第5张图片
这里要用两个矩阵,因为索引图像由索引矩阵与调色板两部分构成,如果只有一个矩阵,会显示出灰度图像

读入一个RGB图像 peppers.png,并显示。

>> I_RGB=imread('peppers.png');
>> figure(6),imshow(I_RGB),title('真彩色');

MATLAB数字图像处理(一)——图像打开、保存与显示_第6张图片
矩阵有三个维度构成,第三个维度表示R,G,B三个分量的取值

分离RGB图像

对一个RGB彩色图像 peppers.png 分别抽取其R、G、B三个分量层,并显示各层图像。

>> I_R=I_RGB(:,:,1);
>> I_G=I_RGB(:,:,2);
>> I_B=I_RGB(:,:,3);
>> subplot(2,2,1),imshow(I_RGB);
>> subplot(2,2,2),imshow(I_R);
>> subplot(2,2,3),imshow(I_G);
>> subplot(2,2,4),imshow(I_B);

MATLAB数字图像处理(一)——图像打开、保存与显示_第7张图片
这里用了subplot可以显示由子图组成的图像,前两个参数表示几行几列,后一个参数表示位于第几个

添加噪声

向灰度图像pout中分别加入高斯噪声和椒盐噪声,显示带有噪声的图像。

>> I=imread('pout.tif');
>> subplot(1,3,1),imshow(I),title('原始图像');
>> G=imnoise(I,'gaussian');
>> subplot(1,3,2),imshow(G),title('高斯噪声图像');
>> J=imnoise(I,'salt & pepper');
>> subplot(1,3,3),imshow(J),title('椒盐噪声图像');

MATLAB数字图像处理(一)——图像打开、保存与显示_第8张图片
添加高斯噪声的图像有许多麻点,椒盐噪声的图像有小白点和小黑点

保存两个添加噪声的图像。

>> imwrite(G,'Gpout.tif');
>> imwrite(J,'Jpout.tif');

MATLAB数字图像处理(一)——图像打开、保存与显示_第9张图片
这样两张图片就保存在当前work文件夹下

你可能感兴趣的:(计算机视觉,matlab,opencv,边缘检测,git)