【数字图像处理matlab系列】使用数组索引进行简单的图像裁剪、二次取样操作
【先赞后看养成习惯】求点赞+关注+收藏!
- pout.tif是一张matlab自带的图片,图像尺寸是291*240,使用imread读取该图像
>> a = imread('pout.tif');
>> imshow(a);
- 对图像a进行上下翻转操作,只需要将图像的行向量数据进行倒序读取,列向量数据不变,即把最后一行的数据读取为第一行,以此类推,则最终得到一个上下翻转的图像
>> b = a(end:-1:1,:);
>> imshow(b)
- 同理,对图像进行左右翻转,只需要将列向量数据进行倒序读取,行向量保持不变,把最后一列的数据读取到第一列,第一列的数据读取到最后一列,即可得到左右翻转的图像
>> b2 = a(:,end:-1:1);
>> imshow(b2)
- 对图像的局部区域进行裁剪,通过指定行列的范围即可得到对应的局部图像
>> c = a(50:250,40:200);
>> imshow(c)
- 对图像进行缩小,通过隔行隔列进行采样,最终得到146*120大小的图像,即图像缩小了一倍
>> d = a(1:2:end,1:2:end);
>> imshow(d)
- 通过plot(a(246,:))显示图像第246行的水平扫描线
>> plot(a(246,:))