怎样用matlab实现图像的缩放,用matlab对图像进行缩放与旋转

该博客介绍了如何使用MATLAB进行图像的缩放与旋转操作,分别利用双线性插值法和最近邻域法。通过输入缩放倍数,对图像进行比例调整,并展示了具体的代码实现过程。
摘要由CSDN通过智能技术生成

%======用matlab对图像进行缩放(双线性插值法)

clear;   %此题是用双线性插值法实现图像缩放

I=imread('f.jpg');

%读入原图像,只需将此处的文件换成要变换的图片即可

%图像属性

%  Filename: 'f.jpg'

%

FileModDate: '24-Aug-2008 16:50:30'

%           FileSize: 20372

%

Format: 'jpg'

%      FormatVersion: ''

%              Width: 480

%

Height: 640

%           BitDepth: 8

%          ColorType:

'grayscale'

%    FormatSignature: ''

%    NumberOfSamples: 1

%

CodingMethod: 'Huffman'

%      CodingProcess: 'Sequential'

%

Comment: {}

[rows,cols]=size(I);

K1 = str2double(inputdlg('请输入行缩放倍数', 'INPUT scale factor', 1,

{'0.5'}));%行默认变为原来的0.5倍

K2 = str2double(inputdlg('请输入列缩放倍数', 'INPUT

scale factor', 1, {'0.4'}));%列默认变为原来的0.4倍

width = K1 * rows;

height = K2 * cols;

Out = uint8(zeros(width,height));  %创建输出图像矩阵

widthScale = rows/width;

heightScale = cols/height;

for x = 6:width - 6           % 6是为了防止矩阵超出边界溢出

for y = 6:height - 6

oldX = x * widthScale;     % oldX,oldY为原坐标,x,y为新坐标

oldY = y * heightScale;

if (oldX/double(uint16(oldX)) == 1.0) &

(oldY/double(u

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值