MATLAB interp2和imresize函数的区别是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB interp2和imresize函数的区别是啥?相关的知识,希望对你有一定的参考价值。
需要将二维矩阵插值到指定的行列数。最初使用的是imresize函数,但是后期结果可能有一点问题。想请问下这两个函数插值有区别吗(插值的方法都设置为最近邻)?如果要使用interp2函数来插值到指定的行列数,有没有大神做过类似工作?感激不尽
interp2函数——用于meshgrid 格式的二维网格数据的插值
imresize函数——用于用于图像大小调整插值(双三次方插值)。
可以说,interp2函数和imresize函数应用方向不完全一致。
interp2函数主要应用于优化灰度图像。使用例子:
load clown %将某些图像数据加载到工作区中。
V = single(X(1:124,75:225)); %隔离图像的一个小区域并将其转换为单精度。
figure(1) %显示原图像。
imagesc(V);
colormap gray
axis image
axis off
title('Original Image');
Vq = interp2(V,5); %将每个维度上网格点之间的间隔重复分割优化五次来增加插入值。
figure(2) %显示优化图像
imagesc(Vq);
colormap gray
axis image
axis off
title('Linear Interpolation');
参考技术A我帮你写了一个程序,你试一下:
A = imread('rice.png');
B = imresize(A, [512 512]);
figure,imshow(A)
figure,imshow(B)
运行结果如下:
matlab函数之imresize()
B = imresize(A,scale)
返回图像 B
= imresize(A
,scale
)B
,它是将 A
的长宽大小缩放 scale
倍之后的图像。输入图像 A
可以是灰度、RGB 或二值图像。如果 A
有两个以上维度,则 imresize
只调整前两个维度的大小。如果 scale
在 [0, 1] 范围内,则 B
比 A
小。如果 scale
大于 1,则 B
比 A
大。默认情况下,imresize
使用双三次插值。
举例:
I = imread(‘ngc6543a.jpg‘);
%将图像的长宽缩小二分之一。
J = imresize(I, 0.5);
%显示原始图像和调整大小后的图像。
figure(2); imshow(I);
figure(3); imshow(J);
来源:https://ww2.mathworks.cn/help/matlab/ref/imresize.html?searchHighlight=imresize&s_tid=doc_srchtitle
以上是关于MATLAB interp2和imresize函数的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章