首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

【数字图像处理】M1. 展示图像 Image Display (with MATLAB)

2012-12-23 
【数字图像处理】M1. 显示图像 Image Display (with MATLAB)一、读取图像 imread  读取图像的基本命令是imrea

【数字图像处理】M1. 显示图像 Image Display (with MATLAB)
一、读取图像 imread


  读取图像的基本命令是imread,对于不同的图像类型会有不同的返回值。

  imread的调用格式有很多,这里只说明最常用的三种图像的读取方式。


1. 灰度图像 Grayscale Images


  一个8位的灰度图像的每一个像素只有一个字节来记录,所在调用imread后返回的结果是一个uint8型的二维数组,第一维代表的是行,第二维代表的是列。

基本的格式是:

  为了显示灰度图像,我们需要去掉坐标轴并给它一个颜色索引,基本的格式是:

  而对于索引图像来说,它本身就自带了一个colormap,所以colormap内直接给索引表就可以正确地显示索引图像。

  为了避免自己转换类型出错,可以使用im2double或im2uint8函数,这样不管数据范围是0到255还是0到1都可以正确地进行数据转换。



五、图像的缩放 imresize


  利用imresize(im, scale, method)或imresize(im, [row col], method)可以轻松地改变图像的大小,其中im是图像矩阵,scale是变换的比例,[row col]是最终图像的大小。由于计算机中的数据都是离散的,在放大过程中需要插值的操作,method控制的就是插值的方法。如果不填写method,从我的版本来看默认为'bicubic',双三次插值,还可以选‘bilinear’,双线性插值,‘nearest’,最近邻插值。理论上效果自然是次数越高越好,同时耗时也就越多。

  可以看出,默认模式不是最近邻插值。最近邻插值有明显的马赛克现象,没增加信息量反而占用了更大的空间,所以通常不会采用。


热点排行