




免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
%=用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 endendimshow(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% 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.6);%行默认变为原来的0.6倍K2 = str2double(inputdlg(请输入列缩放倍数, INPUT scale factor, 1, 0.4);%列默认变为原来的0.4倍width = K1 * rows; height = K2 * cols;im2 = 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) im2(x,y) = I(int16(oldX),int16(oldY); else a = double(round(oldX); b = double(round(oldY); %若不是整数四舍五入后把临近值赋过去 im2(x,y) = I(a,b); end endendimshow(I); %输出原图像figure;imshow(im2); %输出缩放后图像%=用matlab对图像进行旋转(双线性插值法)clear;%此题是用最近邻域法实现图像旋转im1=imread(b.jpg);m,n,p=size(im1);% 将图像旋转30度a=0.5; %a=sin30=0.5b=0.866; %b=cos30=0.866row=n*a+m*b;col=n*b+m*a;for i=1:row %先把图象填充成全黑 for j=1:col im2(i,j,:)=uint8(0); endend for i=1:m %把原图象像素点旋转后变为新图象点 for j=1:n xx=round(abs(i-m/2)*b-(j-n/2)*a+row/2); yy=round(abs(i-m/2)*a+(j-n/2)*b+col/2); for k=1:3 im2(xx,yy,k)=im1(i,j,k); end endendtemp1=uint8(0);temp2=uint8(0);temp3=uint8(0);for i=1:row %把画面上的空点按照最近邻插值法填充 temp1=uint8(0); temp2=uint8(0); temp3=uint8(0); for j=1:col %找到最右的图象边界点 if (im2(i,j,:)=uint8(0) else kk=j; end end for j=1:kk if (im2(i,j,:)=uint8(0) im2(i,j,1)=temp1; im2(i,j,2)=temp2; im2(i,j,3)=temp3; else temp1=im2(i,j,1); temp2=im2(i,j,2); temp3=im2(i,j,3); end endend imshow(im1);figure;imwrite(im1,5.jpg); %保存原图像imshow(im2);imwrite(im2,6.jpg);%保存旋转后图像%=用matlab对图片进行旋转(最近邻域法)clear;%此题是用最近邻域法实现图像旋转im1=imread(b.jpg);m,n,p=size(im1);% 将图像旋转30度a=0.5; %a=sin30=0.5b=0.866; %b=cos30=0.866row=n*a+m*b;col=n*b+m*a;for i=1:row %先把图象填充成全黑 for j=1:col im2(i,j,:)=uint8(0); endend for i=1:m %把原图象像素点旋转后变为新图象点 for j=1:n xx=round(abs(i-m/2)*b-(j-n/2)*a+row/2); yy=round(abs(i-m/2)*a+(j-n/2)*b+col/2); for k=1:3 im2(xx,yy,k)=im1(i,j,k); end endendtemp1=uint8(0);temp2=uint8(0);temp3=uint8(0);for i=1:row %把画面上的空点按照最近邻插值法填充 temp1=uint8(0); temp2=uint8(0); temp3=uint8(0); for j=1:col %找到最右的图象边界点 if (im2(i,j,:)=uint8(0) else kk=j; end end for j=1:kk if (im2(i,j,:)=uint8(0) im2(i,j,1)=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东商业职业技术学院《建筑环境人因工程学》2024-2025学年第一学期期末试卷
- 广州大学《环境生态工程设计与施工》2024-2025学年第一学期期末试卷
- 淮南联合大学《房地产前沿专题》2024-2025学年第一学期期末试卷
- 哈尔滨北方航空职业技术学院《传输原理基础》2024-2025学年第一学期期末试卷
- 湖北孝感美珈职业学院《舞蹈综合技术技巧》2024-2025学年第一学期期末试卷
- 江西信息应用职业技术学院《计算机设计Ⅱ》2024-2025学年第一学期期末试卷
- 惠州经济职业技术学院《流体机械原理及设计A》2024-2025学年第一学期期末试卷
- 天津商务职业学院《基础拓扑》2024-2025学年第一学期期末试卷
- 雅安职业技术学院《机床电气控制与》2024-2025学年第一学期期末试卷
- 桂林医学院《数据库原理与应用(基于Orace)》2024-2025学年第一学期期末试卷
- 供应商大会-质量报告课件
- 九江银行引进人才测试题(7)模拟试题3套(含答案解析)
- 《风力发电》教学大纲
- 露天矿山课件
- 以书为伴 以书为友PPT模板
- 285号附件4市社区文化活动中心社会化专业化管理费用参考
- 设备类资产经济使用年限汇总
- DB11-T 1828-2021文物保护工程资料管理规程
- 供应室pdca质量提高腔镜器械包装合格率品管圈ppt模板课件
- KDL16变频器更换步骤
- 选矿药剂第3章硫化矿捕收剂
评论
0/150
提交评论