×

imresize 区别是什么

imresize(MATLAB interp2和imresize函数的区别是什么)

admin admin 发表于2023-05-10 07:52:59 浏览63 评论0

抢沙发发表评论

本文目录

MATLAB interp2和imresize函数的区别是什么


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’);


matlab imresize


从出错信息上看imresize的第一个参数A被赋值为空矩阵了,也就是bw1为空。
往回推是find(bw==0)返回的是空矩阵,也就是说bw的值都是1。
而bw是由bw=im2bw(x,0.5)赋值的,
这个函数的作用是把彩色或者灰度级的图像变为黑白图像。
0表示黑色,1表示白色。
第二个参数的0.5表示从0到1的灰度级的什么地方划分开,
灰度级大于0.5的就转变为白色1,小于0.5的就变为黑色0。
当然,这个参数不一定取0.5,可以取0到1的任意值。
现在find(bw==0)返回空,就是说bw的值都是1,
那么说明原来的图像x各点在灰度级上更接近于白色,没有比0.5小的。
或者说图像都是亮色调的,没有暗色调的。
所以看看是不是你的bmp图像是亮颜色的,换个颜色对比比较大的图像试试。
为了避免再出错,最好加上对find(bw==0)返回空矩阵情况的容错处理。