利用matlab 对数字图片进行放大缩小是matlab在数字图像处理上的一个简单的应用
matlab库函数imresize()的功能就是这个,那么imresize具体怎么实现的呢,我们可以自己写一个myimresize()
imresize()的用法请查看matlab的HELP,搜索“imresize”
首先我们必须知道彩色数字图像其实是一个m*n*3的数字矩阵组成的,其中的m*n表示图片在宽度和高度上的像素大小,我们通常说的320*240的普通MP3的图片格式就是由宽度上320个像素点和高度上240个像素点组成。而之所以乘3,是因为彩色采用的rgb(red,green,blue)的方式。对于图片上的每个点的颜色,都由3个数字(r,g,b)来决定,如(255,0,0)为红色,(0,255,0)为绿色。每个数字介于0~255之间(8位表示法)。
对图片的放大和缩小,也就是说根据原来的图片矩阵来产生新矩阵。对于新矩阵的每个像素点,其取值有两种方式:
一种是取对应原来位置最近的那个点的像素,这种做法失真比较高,我们称这种做法为“nearest”;
另一种做法是取原来位置周围四个点的加权平均值,这种做法得到的图片比较柔和,我们称这种做法为双