数字图像处理_读写和显示图像

常用的函数

imread 函数读取参数图片,得到矩阵/数组

figure 函数:创建一个用来显示图形输出的一个窗口对象,figure(1)是指这个窗口的名字,左上角显示。也可以是figure(2)figure(3)等

imshow 函数:显示图像

title函数:显示图像的标题

subplot函数:设置图像的位置

imwrite函数: 用来实现图像文件的写入

打开一个脚本窗口,输入下面代码

 1 x=imread('D:/a.jpg');
 2 figure(1)%每个窗口只有一个figure,而且figure的参数为一定范围内的整数
 3 subplot(2,2,1)%2*2的第一个方格
 4 imshow(x)
 5 title('原始图像')%要写在imshow()后面
 6 imwrite(x,'D:/b.bmp')%此时图片的后缀为bmp
 7 y=rgb2gray(x)%彩色图像变为灰色图像
 8 subplot(2,2,2)
 9 imshow(y)
10 title('灰度图像')
11 z=im2bw(x,0.50)%彩色图像变为2值图像
12 subplot(2,2,3)
13 imshow(z)
14 title('二值图像')
15 x2=x/2%改变像素值
16 subplot(2,2,4)
17 imshow(x2)%亮度变暗一半

运行结果如下

whos函数可以把脚本里面的变量的信息展示出来

在命令行窗口我们可以直接对二维数组操作,并且把图片展示出来

如image(x)把变量x对应的图片展示出来

下面介绍一下imagesc的二个常用的用法

imagesc(C) 将数组 C 中的数据显示为一个图像,该图像使用颜色图中的全部颜色。C 的每个元素指定图像的 1 个像素的颜色。生成的图像是一个 m×n 像素网格,其中 mn 分别是 C 中的列数和行数。这些元素的行索引和列索引确定了对应像素的中心。

示例

imagesc(x,y,C) 指定图像位置。使用 xy 可指定与 C(1,1)C(m,n) 对应的边角的位置。要同时指定两个边角,请将 xy 设置为二元素向量。要指定第一个边角并让 imagesc 确定另一个,请将 xy 设为标量值。图像将根据需要进行拉伸和定向。

用法一:显示矩阵数据的图像

创建矩阵 x。显示 x中数据的图像。向图添加颜色栏以显示当前颜色图。默认情况下,imagesc 色阶颜色范围以便图像使用颜色图中的所有颜色,其中 x 中的最小值映射到颜色图中的第一种颜色,最大值映射到最后一种颜色。

>> imagesc(x)

>> imagesc([40,100],[40,100],x)%展示指定范围的图片

用法二:控制数据值到颜色图的颜色映射

y 创建为数据值的数组。创建 y 的图像并设置颜色范围,使 60 或更小的值映射到颜色图中的第一种颜色,80或更大的值映射到颜色图中的最后一种颜色。显示颜色栏以说明数据值如何映入颜色图。

>> imagesc(y,[60,80])

只有60-80的像素值被正常显示,大于80的都变为80的颜色,小于60的都是蓝色

 

posted @ 2019-03-01 16:26  你的雷哥  阅读(1605)  评论(0编辑  收藏  举报