MATLAB图像处理–几何操作
1. 常用的几何操作
为了达到某种视觉效果,变换输入图像的像素位置,通过把输入图像的像素位置映射到一个新的位置达到改变原图像显示效果的目的,称之为图像的几何运算。
[Y,map]=imresize(X,map,0.2); %%将索引图像改成原来的五分之一
J=imcrop(I,[20,20,100,100]); %%图像的剪切,剪为原点为(20,20),大小为100*100的
J=imrotate(I,-90,'nearest'); %%将图片I顺时针旋转90度
J=imadjust(I,[0.3,0.7],[ ]); %%将图片的对比度范围从0.3-0.7到0-1
J=imadjust(I,[0.2,0.3,0;0.6,0.7,1],[ ]); %% RGB图像进行对比度增强
MATLAB图像处理–插值方法
1向前映射法
对原始图像进行几何操作之后,各个像素值的结果值可以用两种不同的方向计算,第一位向前映射法,即通过输入图像像素位置,计算输出图像对应像素位置;将该位置像素的灰度级按某种方式分配到输出图像相邻的四个像素,也就是说输入图像上整数点坐标映射到输出图像之后,变成了非整数点坐标。因此,需要将其像素值按一定权重分配到其周围四个像素点上。对于输出图像而言,其整数点像素值周围会有很多输入图像像素映射过来,每个到其周围的非整数点像素值都会分配一定的灰度值到它上面,将这些分配而来的像素值叠加,就是输出图像整数点位置的像素值。
注意问题:很多由变换式算得的坐标不是整数,还需要四舍五入到最近的整数以指示图像中的一个像素;叠加后会有一些坐标在界外;很多输出像素的坐标在计算中赋予了多次值,而有些根本就没有赋值;(所以为克服上述限制常使用向后映射法)
2向后映射法
也称为目标到源的映射,它包括访问输出图像中的每个像素并使用逆变换确定输入图像中需要采样像素值的坐标,根据输入图像相邻四个像素的灰度值计算该位置像素的灰度值,因为这种向后映射过程常产生在原始图像采样网格点之外的结果,一般还需要某种形式的插值以计算一个像素的最佳值。
3最近邻插值
它将计算的坐标舍入到它们最近的整数,向后映射时输出图像的灰度等于离它所映射位置最近的输入图像的灰度值。
4双线性插值
用输入图像中围绕参考像素的4个像素灰度值的加权函数来计算插值像素。有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。