clc
clear all
close all
%% 图像读取、显示和保存
I=imread('2.jpg');
I=double(I);
[nrow,ncol]=size(I)
figure
imshow(uint8(I))
%取子图像和均匀采样
I_s=I(1:200,1:300);
I_s=I(1:2:end,1:2:end);
figure
imshow(uint8(I_s))
%% 图像缩放
I=imread('2.jpg');
I=double(I);
[nrow,ncol]=size(I)
figure
imshow(uint8(I))
size_s=[200,200]
%使用matlab函数
I_s=imresize(I,size_s,'bilinear');
figure
imshow(uint8(I_s))
I=I_s;
size_b=[nrow,ncol]
%重写缩放函数
ratio=size_s./size_b;
I_resize=zeros(size_b);
for row=1:size_b(1)
for col=1:size_b(2)
%bilinear
y=row*ratio(1);
x=col*ratio(2);
x1=floor(x);
x2=ceil(x);
y1=floor(y);
y2=ceil(y);
if(y==0) y=1;
elseif(y>size_s(1))
y=size_s(1);
end
if(x==0)
x=1;
elseif(x>size_s(2))
x=size_s(2);
end
if(y1==0)
y1=1;
elseif(y1>size_s(1))
y1=size_s(1);
end
if(x1==0) x1=1;
elseif(x1>size_s(2))
x1=size_s(2);
end
if(y2==0)
y=1;
elseif(y2>size_s(1))
y2=size_s(1);
end
if(x2==0)
x2=1;
elseif(x2>size_s(2))
x2=size_s(2);
end
if(x1==x2)
I_R1=I(y1,x1);
I_R2=I(y2,x1);
else
I_R1=(x2-x)/(x2-x1)*I(y1,x1)+(x-x1)/(x2-x1)*I(y1,x2);
I_R2=(x2-x)/(x2-x1)*I(y2,x1)+(x-x1)/(x2-x1)*I(y2,x2);
end
if(y1==y2)
I_P=I_R1;
else
I_P=(y2-y)/(y2-y1)*I_R1+(y-y1)/(y2-y1)*I_R2;
end
I_resize(row,col)=I_P;
end
end
figure
imshow(uint8(I_resize))
数字图像处理中对图像进行压缩,保存,显示等一系列操作,源码已经可以运行,
版权申诉
66 浏览量
2024-05-19
15:31:10
上传
评论
收藏 12KB ZIP 举报
m0_74456535
- 粉丝: 91
- 资源: 725
最新资源
- AutoHotKey 2.0中文帮助文件
- 基于Docker-compose的Elasticsearch集群每个节点均是独立docker-compose配置而成源码.zip
- 目标检测-零售食品LOGO检测数据集-40000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-30000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-20000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-10000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 基于GUI+MYSQL+JAVA图书管理系统文档说明+源码(高分大作业项目).zip
- 基于Qt使用C++实现图书管理系统源码+数据库(95分以上).zip
- 基于GUI+MYSQL+JAVA票务管理系统文档介绍+源码+数据库(高分大作业).zip
- Java项目-购物网站系统(java+Servlet+JSP+Mysql)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈