本文是摘抄与总结,仅供自己学习和日后查阅使用。

可以自己写一个双线性插值函数,

-------------------------------------------------------------------

function outputimg = my_imresize(A,n)
%  A 是图像矩阵,n是放缩的倍数
% 返回值outputimg是一个放缩后的图像矩阵

if n <= 0
    error('缩放倍数n的值应该大于0!');
end

%四舍五入计算放大后图像矩阵
[H,W,CH] = size(A);
DH = round(H * n);
DW = round(W * n);
outputimg = zeros(DH,DW,CH);

%利用双线性插值公式,从新矩阵映射回原图像
for di = 1:DH
    for dj = 1:DW
        ii = di / n;jj = dj / n;
        i = floor(ii);j = floor(jj);
        u = ii - i;v = jj - j;
        i = i + 1;j = j + 1;
        %边界处理
        if (i < 1)
            i = 1;
        end
        if (j < 1)
            j = 1;
        end
        if((i + 1) > H)
            i = H - 1;
        end
        if((j + 1) > W)
            j = W -1;
        end
        %线性插值公式
        outputimg(di,dj,:) = (1 - u) * (1 - v) * A(i,j,:) + (1 - u) * v * A(i,j + 1,:); 
        + u * (1 - v) * A(i + 1,j,:) + u * v * A(i + 1,j + 1,:);
    end
end

%转化成uint8才能正常显示
outputimg = uint8(outputimg);

-------------------------------------------------

对其进行调用,也可以直接使用imresize()函数(文章最后有简单介绍),处理CUFED5

---------------------------------------------------

clc;close all;clear all;

for num = 0:125
    c1 = '00';
    if num>=10
        c1='0'
    end
    c2 = num2str(num);
    c3 = '_0.png';
    img_name = [c1,c2,c3]
    if num>=100 
        img_name = [c2,c3]
    end
    A = imread(img_name);
    B = my_imresize(A,0.25);

imwrite(B,['CUFED5_LR\' , img_name]);
%     figure,imshow(A),title('原图');
%     figure,imshow(B),title('缩小1/4后的图像');
end

----------------------------------------------

之后发现双线性插值效果并不理想

从这两张图片就可以看出差别

双线性:

双三次:

于是打算使用双三次插值。这次直接调用函数,

只改变这一行即可

B = imresize(A, 0.25, 'bicubic');

最后是imresize()函数。

matlab中imresize()函数的功能是改变图像的大小。

其用法有多种:*

1、B = imresize(A,m) 将图片A放大m倍

2、B = imresize(A,m,method) 将图片A由参数method指定的插值运算方法来改变图像的大小到m倍,

method的几种可选值:

'nearest’最近邻插值(默认)

'bilinear’双线性插值

'bicubic’双三次插值
在数值分析这个数学分支中,双三次插值(英语:Bicubic interpolation)是二维空间中最常用的插值方法。在这种方法中,函数f在点 (x,y) 的值可以通过矩形网格中最近的十六个采样点的加权平均得到。

3、B = imresize(A,[mrows ncols],method) 将图片A由参数method指定的插值运算方法,来改变图像的大小到长宽为[mrows ncols]

4、B = imresize(…,method,n)

5、B = imresize(…,method,h)

其中的h可以是任意一个FIR滤波器(h通常由函数ftrans2、fwind1、fwind2、或fsamp2等生成的二维FIR滤波器)。

matlab双线性插值双三次插值对CUFED5进行处理相关推荐

  1. js 双线性插值 双三次插值法 实现

    js 双线性插值 双三次插值法 实现 介绍 双线性插值 原理 双三次插值法 原理 js实现 介绍 在网页中利用canvas进行绘图时,遇到一个问题,原始的数据分辨率很小,而图片要放大到整个网页,所以需 ...

  2. 数字图像处理实验1.2:matlab双线性插值缩放、缩小图像

    2.Zooming and Shrinking Images by Bilinear Interpolation 通过双线性插值来缩放和缩小图像 (a)编写一个能够通过双线性插值来缩放和缩小图像的计算 ...

  3. js插值计算_js图像处理 双线性插值 双三次插值法 实现

    介绍 在网页中利用canvas进行绘图时,遇到一个问题,原始的数据分辨率很小,而图片要放大到整个网页,所以需要把数据进行插值放大.学习了双线性插值和三次内插法插值,两种方式实现效果不同,双线性插值放大 ...

  4. matlab实现彩色图像的平移、旋转、缩放、镜像(双线性插值)

    matlab双线性插值实现彩色图像的平移.旋转.缩放.镜像 原理概述 代码 平移 镜像 缩放 旋转 结果 原图 平移(向X正方向.Y正方向50个距离单位) 镜像(左右.上下) 缩放(查看分辨率可知是否 ...

  5. matlab关闭图像命令,matlab图像处理命令

    <matlab图像处理命令>由会员分享,可在线阅读,更多相关<matlab图像处理命令(108页珍藏版)>请在人人文库网上搜索. 1.MATLAB常用的图像操作,数字图像研究的 ...

  6. 大厂必考深度学习算法面试题

    一,滤波器与卷积核 二,卷积层和池化输出大小计算 2.1,CNN 中术语解释 2.2,卷积输出大小计算(简化型) 2.3,理解边界效应与填充 padding 参考资料 三,深度学习框架的张量形状格式 ...

  7. 大厂必考深度学习面试题及参考答案

    目录 一,滤波器与卷积核 二,卷积层和池化输出大小计算 2.1,CNN 中术语解释 2.2,卷积输出大小计算(简化型) 2.3,理解边界效应与填充 padding 参考资料 三,深度学习框架的张量形状 ...

  8. 编程大实践 # python # 嵩天 # Cilay

    图像增强 一.项目背景 1.图像增强 图像增强是指增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合. 有目的地强调图像的整体或局部特性,将原来不清晰的 ...

  9. merra-2气溶胶、OMI大气产品数据处理阶段摸索中~~~

    2023.0403 近期在国内数据中心网页上批量下载数据,还在摸索批量快速下载的方法: 想起来之前批量下载NASA数据,补充一下wget批量下载merra-2数据的方法: 博主讲得很详细: NASA气 ...

  10. 【图像处理】双三次插值(Bicubic interpolation)原理及matlab简易版代码

    先简单写下. 双线性插值:缩放后图像矩阵(简称TI)像素坐标映射到原图像矩阵(简称OI)中得坐标点P(x,y),P点临近四个坐标点像素值的线性加权求和即P点像素值. "双"指的图像 ...

最新文章

  1. C语言实现bmp图像对比度扩展
  2. HDU1212(大数取模-秦九昭算法)
  3. opencv+VS如何运行
  4. 找不到具有绑定 MetadataExchangeHttpBinding 的终结点的与方案 http 匹配的基址。注册的基址方案是 [https]...
  5. 跨域 || Jsonp
  6. 数据库连接池的实现及原理
  7. html 自动滚动标签,HTML滚动标签(marquee标签)
  8. springboot---request 中Parameter,Attribute区别
  9. 物理服务器备份系统,物理备份和逻辑备份区别
  10. java get方法不序列化_Java中的Json序列化,不容忽视的getter
  11. 【nosql】NoSql是什么?
  12. SVM支持向量机:分类、回归和核函数
  13. 最短路+状压DP【洛谷P3489】 [POI2009]WIE-Hexer
  14. coco数据集大小分类_COCO数据集的简单介绍
  15. jackson框架java反序列化漏洞_Jackson CVE-2019-12384: 反序列化漏洞复现
  16. Odin Inspector 系列教程 --- 初识Odin序列化
  17. Testbed软件下载安装使用试用
  18. AHU-2017校赛现场赛 B 下一个幸运数
  19. scp在命令行中带密码远程拷贝文件
  20. 真正免费的天气API,无需注册申请key

热门文章

  1. logo字体设计心法
  2. 苏州大学计算机考研复试经验,苏大考研网:2014年苏州大学计算机考研经验
  3. Java Map是否有序
  4. J2Cache以RabbitMQ作为消息通知配置
  5. 产品经理入职四部曲—带你顺利度过试用期
  6. matlab 线性规划 单纯形法
  7. 静态分析软件(QAC、Klocwork,Coverity等),单元测试软件集成测试软件 (VectorCAST、testbed、tessy、c++test等)下载安装使用试用
  8. 用JavaScript做一个日历和用canvas做一个时钟
  9. apdu 移动sim_SIM卡APDU指令【转】
  10. 同一个项目中让R和Python无缝工作的五种方法