- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
%======用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(uint16(oldY)) == 1.0)??????
?????????? Out(x,y) = I(int16(oldX),int16(oldY));%若oldX,oldY为整数,直接赋值
?????? else????????????????????????
?????????? a = double(uint16(oldX));???????
?????????? b = double(uint16(oldY));
?????????? x11 = double(I(a,b));??????????????? % x11 赋值为 I(a,b)
?????????? x12 = double(I(a,b+1));????????????? % x12 赋值为 I(a,b+1)
?????????? x21 = double(I(a+1,b));????????????? % x21 赋值为 I(a+1,b)
?????????? x22 = double(I(a+1,b+1));??????????? % x22 赋值为 I(a+1,b+1)?????????
?????????? Out(x,y) = uint8( (b+1-oldY) * ((oldX-a)*x21 + (a+1-oldX)*x11) + (oldY-b) * ((oldX-a)*x22 +(a+1-oldX) * x12) );??? % 用双线性插值计算公式计算
?????? end
??? end
end
imshow(I);
figure;
imshow(Out);
%===============使用matlab对图片进行缩放(最近邻域法)
clear;? %此题是用最近邻域法实现图像缩放
I=imread(f.jpg);%读入图像%图像属性%? Filename: f.jpg%?????? FileModDate: 24-Aug-2008 16:50:30%?????????? FileSize: 20372%???????????? Format: jpg%????? FormatVersion: %????????????? Width: 480%????????
文档评论(0)