导航:首页 > 源码编译 > 图像缩放的插值算法

图像缩放的插值算法

发布时间:2022-03-01 00:16:26

‘壹’ 最近在做图像处理的程序时候找到一个图片缩放的算法,但是算法的注释太少,看不懂,在这里贴出来,求解释。

别浪费时间啦,有时间在这里问问题,还不如多逛逛 博客园 或者 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(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);

‘叁’ 照片扩大用什么插值法

无限放大图片的软件没有,毕竟无论软件的算法多么高级和智能,均无法创造出原本不存在的图像细节,但有的软件通过插值计算,可以避免马赛克出现,并且尽力使放大后的照片显得更加细腻、边缘更加圆滑。
建议网络下载个有人号称“放大几十倍不现马赛克”的“S-Spline”软件,里面有三种算法可以尝试选择,视觉效果哪种好就确定哪种好了。自己学着处理,不难,软件很直观,容易学的。具体介绍见:

‘肆’ opencv实现图像缩放插值是什么意思

‘伍’ 图像缩放技术中 立方卷积法和 双三次插值法是一样的吗

您好,请问您的问题解决了么?我也遇到了同样的困惑,现在还没有找到答案,如果您找到了答案,可否与大家交流一下呢,谢谢楼主!

‘陆’ ps中对图像的缩放使用的是什么算法

ps中对图像的缩放使用的是近邻取样插值(nearest neighbor interpolation)算法。书上是这么说的,其实一般人完全没有必要研究这些!

‘柒’ 高分求图像缩小算法

添加Image控件Image1
Private Sub Form_Load()

Image1.Stretch = True

Image1.Picture = LoadPicture("图片文件路径")

'任意设置image的大小,图片大小会相应伸缩
Image1.Width = 8000
Image1.Height = 6000

End Sub

VB中也没什么算法,说起来也就是
用image控件loadpicture之后,把image的Stretch属性设为True,那么图片也就随着image的缩小而缩小。(如果你要获得缩小后的图片,那就要用屏幕截图)

是不是要图片缩小的实现过程算法?这个我也不知道了,等别人来回答吧.

‘捌’ 图像缩放和旋转运算时,为什么需要插值

所有的图像缩放和旋转运算都是采用差值计算来实现的,包括其他的一些运算也是用查值的。

‘玖’ 数字图像处理 图像缩放以及旋转的算法代码

clearall;
I=imread('lena.bmp');
figure;imshow(I);title('原图像');
[m,n]=size(I);

%%%缩小临近法
M=0.5;%放大倍数

%新的图像大小
m1=m*M;n1=n*M;
%****************************************************
fori=1:m1
forj=1:n1;
J(i,j)=I(round(i/M),round(j/M));
end
end
%*****************************************************
figure;imshow(J);title('缩小图像');

%%%放大双线性插值法
I2=double(I);
N=1.5;%放大倍数
%新的图像大小
m2=m*N;n2=n*N;
J2=zeros(m2,n2);
fori=1:m2
forj=1:n2
x=i/N;
y=j/N;
u=floor(x);
v=floor(y);
a=x-u;
b=y-v;
ifu+2<=m&v+2<=n
J2(i,j)=I2(u+1,v+1)*(1-a)*(1-b)+I2(u+2,v+1)*a*(1-b)+I2(u+1,v+2)*(1-a)*b+I2(u+2,v+2)*a*b;
end
end
end
J2=uint8(J2);
figure;imshow(J2);title('放大图像');

%%%%%旋转
R=45*pi/180;%旋转角度
I=double(I);
%新图像大小
m2=ceil(m*cos(R)+n*sin(R));
n2=ceil(m*sin(R)+n*cos(R));

u0=m*sin(R);%平移量

%变换矩阵
T=[cos(R),sin(R);-sin(R),cos(R)];
L=zeros(m2,n2);
foru=1:n2
forv=1:m2
%新图像坐标变换到原图像坐标x和y中
temp=T*([u;v]-[u0;0]);
x=temp(1);
y=temp(2);
ifx>=1&x<=m&y>=1&y<=n%若变换出的x和y在原图像范围内
x_low=floor(x);
x_up=ceil(x);
y_low=floor(y);
y_up=ceil(y);

%双线性插值,p1到p4是(x,y)周围的四个点
p1=I(x_low,y_low);
p2=I(x_up,y_low);
p3=I(x_low,y_low);
p4=I(x_up,y_up);
s=x-x_low;
t=y-y_low;
L(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;
end
end
end
L=uint8(L);
figure;imshow(L);

‘拾’ ps中对图像的缩放使用的是什么算法

缩放,是按比例来的,你放大多少倍,图像就是按倍数来定的,比如你的像素宽是100素材,你要缩放到200就是一倍啊,貌似小学生都会的额,在里面ALT+CTRL+I 快捷键自己填 写缩放像素,下面可以勾选你要缩放项,

阅读全文

与图像缩放的插值算法相关的资料

热点内容
别告诉我你会记笔记pdf 浏览:157
一套谷歌51浏览器易源码 浏览:374
unix安装命令 浏览:55
cephmonitor源码 浏览:436
单片机的硬件结构重点 浏览:554
地铁逃生用什么服务器最好 浏览:927
租用云服务器怎么样 浏览:437
app上诉通讯录有什么后果 浏览:513
关于加密货币使用分布的图表 浏览:337
王的命令哪个app好看 浏览:769
快乐大本营比脸app叫什么 浏览:681
wt是什么服务器 浏览:128
首页indexphp模板 浏览:343
java7并发编程实战手册pdf 浏览:344
windows打印机编程 浏览:236
怎么用纸做解压小方块 浏览:266
8253的编程方式 浏览:142
云服务器无法连接到当前网络 浏览:469
香港服务器什么时候租用 浏览:600
福州高精密三坐标测量仪编程 浏览:711