精华内容
下载资源
问答
  • 图像放大算法

    千次阅读 2018-10-17 17:28:47
    一、 图像放大算法     图像放大有许多算法,其关键在于对未知像素使用何种插值方式。以下我们将具体分析几种常见的算法,然后从放大后的图像是否存在色彩失真,图像的细节是否得到较好的保存,放大过程所需...

    一、 图像放大算法

     

     

    图像放大有许多算法,其关键在于对未知像素使用何种插值方式。以下我们将具体分析几种常见的算法,然后从放大后的图像是否存在色彩失真,图像的细节是否得到较好的保存,放大过程所需时间是否分配合理等多方面来比较它们的优劣。

     

    当把一个小图像放大的时候,比如放大400%,我们可以首先依据原来的相邻4个像素点的色彩值,按照放大倍数找到新的ABCD像素点的位置并进行对应的填充,但是它们之间存在的大量的像素点,比如p点的色彩值却是不可知的,需要进行估算。

     

     

     

    1、最临近点插值算法(Nearest Neighbor)

     

    最邻近点插值算法是最简单也是速度最快的一种算法,其做法是將放大后未知的像素点P,將其位置换算到原始影像上,与原始的邻近的4周像素点A,B,C,D做比较,令P点的像素值等于最靠近的邻近点像素值即可。如上图中的P点,由于最接近D点,所以就直接取P=D。

     

     

    这种方法会带来明显的失真。在A,B中点处的像素值会突然出现一个跳跃,这就是出现马赛克和锯齿等明显走样的原因。最临近插值法唯一的优点就是速度快。

     

     

    2、双线性插值算法(Bilinear Interpolation)

     

    其做法是將放大后未知的像素点P,將其位置换算到原始影像上,计算的四個像素点A,B,C,D对P点的影响(越靠近P点取值越大,表明影响也越大),其示意图如下。

     

     

     

     

     

     

    其具体的算法分三步:

     

    第一步插值计算出AB两点对P点的影响得到e点的值。

     

    对线性插值的理解是这样的,对于AB两像素点之间的其它像素点的色彩值,认定为直线变化的,要求e点处的值,只需要找到对应位置直线上的点即可。换句话说,A,B间任意一点的值只跟A,B有关。

     

    第二步,插值计算出CD两点对P点的影响得到f点的值。

    第三步,插值计算出ef两点对P点的影响值。

    双线性插值算法由于插值的结果是连续的,所以视觉上会比最邻近点插值算法要好一些,不过运算速度稍微要慢一点,如果讲究速度,是一个不错的折衷。

     

    3、双立方插值算法(Bicubic Interpolation)

     

    双立方插值算法与双线性插值算法类似,对于放大后未知的像素点P,将对其影响的范围扩大到邻近的16个像素点,依据对P点的远近影响进行插值计算,因P点的像素值信息来自16个邻近点,所以可得到较细致的影像,不过速度比较慢。

     

     

    不过双立方插值算法与双线性插值算法的本质区别不仅在于扩大了影响点的范围,还采用高级的插值算法,如图所示

     

     

    要求A,B两点之间e点的值,需要利用A,B周围A-1,A,B,B 1四个点的像素值,通过某种非线性的计算,得到光滑的曲线,从而算出e点的值来。

     

    所谓“双”或者叫“二次”的意思就是在计算了横向插值影响的基础上,把上述运算拓展到二维空间,再计算纵向插值影响的意思。

     

    双立方插值算法能够得到相对清晰的画面质量,不过计算量也变大。该算法在现在的众多图像处理软件中最为常用,比如Photoshop,After Effects,Avid,Final Cut Pro等。

     

    为了得到更好的图像质量,在以上的基础上,许多新的算法不断涌现,它们使用了更加复杂的改进的插值方式。譬如B样条(B-SPline), 米切尔(Mitchell)等插值算法,它们的目的是使插值的曲线显得更平滑,图像边缘的表现更加完美。

     

     

    4、 自适应样条插值极其增强技术( S-Spline & S-Spline XL)

     

    与上述经典的插值方法最大的区别在于, S-Spline 采用了一种自适应技术,那些传统的方法总是依据周围的像素点来求未知点的色彩值,也就是说需要求解的色彩值仅仅依靠该像素点在图像中的位置,而非实际的图像的像素信息,而自适应样条算法还会考虑实际图像的像素信息。 实验表明,经过 S-Spline 算法得到的图像效果要优于双立方插值算法。

     

    现在 S-Spline 算法又出现了增强版 S-Spline XL,新版本的 S-Spline XL 算法较 S-Spline 而言画面的锐度得到进一步增强,物体的轮廓更加清晰,边缘的锯齿现象大大减弱,图像感受更加自然。

     

     

    二、 图像放大算法 实际测试

     

    现在我们来对以上几种插值算法进行实际测试,看看它们的效果。首先打开原始的图像bird.jpg.这是一个分辨率为360×270的图像。

     

    我们采用 BenVista 公司著名的 PhotoZoom Pro 2 软件,在pc电脑上进行测试,电脑的CPU配置为Inter Core 2 T5500 1.66GHz,分别采用以上5种插值方法把原始图像放大8倍得到5个2880×2160的图像

     

     

     

     

     

     

     

     

        为了得到最好的图像放大质量,在可选条件下,我们应该使用自适应样条插值增强(S-S pline_ XL)技术来放大图像。

     

    对比以上各图并结合实验数据,我把效果参数列举如下表。

    插值类型 主观感受 图像轮廓 总体评价 处理耗时

    最临近点插值

    N earrst_ N eighbour

    马赛克现象严重 不清晰 最差 5秒

    双线性插值

    B ilinear

    图像模糊,不锐利 边缘不清晰,有锯齿现象 6秒

    双立方插值

    B icubic

    图像较模糊,较锐利 锯齿现象有所改善 折中 8秒

    自适应样条插值

    S-S pline

    图像相对清晰,锐利 边缘变得清晰,锯齿现象消失 18秒

    自适应样条增强

    S-S pline_ XL

    图像清晰,锐利 边缘锐利,清晰 最好 20秒
    展开全文
  • Matlab编程实现图像放大

    万次阅读 多人点赞 2018-11-07 23:41:04
    Matlab编程实现图像放大 这些代码是根据冈萨雷斯的《数字图像处理》(第三版) 里的第二章的2.6.5阐述的原理编写的,空间变换用的是反向映射,插值方法用的是双线性插值。 PS:这是我

    Matlab编程实现图像放大

    这些代码是根据冈萨雷斯的《数字图像处理》(第三版) 里的第二章的2.6.5阐述的原理编写的,空间变换用的是反向映射,插值方法用的是双线性插值。
    PS:这是我?第一次写博客,排版不美观还请见谅!
    初学数字图像处理,觉得还挺有趣的,所以我才想写下这篇博客,如果能帮到大家真是太好了!!!

    注意: 这里处理的图像是灰度图像,若处理彩色图像,输出图像会变成灰度图像!!!
    由于是原理性编程,不同于一般的直接使用matlab自带函数处理图像,所以运行耗费的时间比较长,但对于帮助理解图像放大的原理可以起到很好的作用?

    流程图如下:

    Created with Raphaël 2.2.0开始读入图像并归一化定义放大倍数定义输出图像大小扫描图像,反向映射得(x,y)坐标在原图像内?坐标x或y是小数?进行双线性插值扫描完毕?显示图像结束直接赋予该坐标像素原图像的灰度值yesnoyesnoyesno

    代码如下:

    % 首先读入需要放大的灰度图像
    I = imread('F:\数字图像处理\textT.tif'); 
    I_in = im2double(I);    % 转化为double类型,并归一化
    m = size(I_in,1);  % 获取原图像大小
    n = size(I_in,2);
    
    % 放大tn倍,放大几倍修改tn值就好
    tn = 2;    
    T = [tn,0,0;0,tn,0;0,0,1]; % 仿射矩阵T
    
    % 定义输出图像 I_out
    I_out = ones(m*tn,n*tn);
    for i = 1:m*tn       % 从图像的左上角开始遍历输出图像
        for j = 1:n*tn
            % 输出图像像素坐标反向映射得到输入图像像素坐标x和y
            z = [i,j,1]/T;
            x = z(1);
            y = z(2);
            % 下面判断反向映射得到的坐标(x, y)是否超出输入图像的大小,
            % if条件成立则没有超出,
            % 条件不成立则不进行任何操作,定义I_out时已经默认该点灰度为1
            if (x>=1 & y>=1) & (x<=m & y<=n)  
                % 然后再判断x或y是否为小数,if条件成立则是小数
            	if (rem(x,1))||(rem(y,1))
            	  % 坐标为小数则需要插值
                  % 先获取该小数坐标(x, y)邻近的四个像素坐标 
                    x0 = floor(x);
                    x1 = ceil(x);
                    y0 = floor(y);
                    y1 = ceil(y);
                  % 获取邻近坐标的灰度值
                    a = I_in(x0,y0);
                    b = I_in(x0,y1);
                    c = I_in(x1,y0);
                    d = I_in(x1,y1);
                  % 双线性内插
                    g1 = a + (x-x0) * (c - a);
                    g2 = b + (x-x0) * (d - b);
                    I_out(i,j) = g1 + (y - y0) * (g2 - g1);     
           		else    
           		  % x和y都为整数则直接赋予原图像的灰度值
                    I_out(i,j) = I_in(x,y);
                end
             end
         end
    end
    
    % 显示原图像和放大后的输出图像
    figure;imshow(I);
    figure;imshow(I_out);
    

    运行结果如下:

    • 输入图像如下:
      在这里插入图片描述
    • 输出图像如下:
      在这里插入图片描述
      这里图像被放大了2倍,可以看到输出图像的“T”形边缘被模糊了,这是插值的结果。
      下次有时间的话我会把旋转变换和偏移变换的代码也写出来,欢迎大家捧场?!!!
    展开全文
  • 图像放大和缩小

    千次阅读 2020-03-27 13:01:27
    图像放大和缩小1. 图像的缩小2. 图像的放大3. 用python实现图像的缩放3.1 方法一:PIL库3.2 方法二:cv库 1. 图像的缩小 图像缩小分为按比例缩小和不按比例缩小两种。图像向缩小后,因为承载的信息量减少,所以画布...

    1. 图像的缩小

    图像缩小分为按比例缩小和不按比例缩小两种。图像向缩小后,因为承载的信息量减少,所以画布可相应缩小。图像缩小实际上就是对原图数据进行挑选和处理,获得期望缩小尺寸的数据,并尽量保持原有特征不丢失。最简单的方法就是等间隔地选取数据。
    设原始图像大小为MN,缩小为k1Mk2N,(k1,k2 均小于1)。
    设原始图像为F(i,j),i=1,2,…,M j=1,2,…,N;
    压缩后的图像为G(x,y),,x=1,2,…,k1M y=1,2,…,k2N;
    则有G(x,y) = F(c1x,c2y),其中c1 = 1/k1,c2=1/k2;
    示例:档F(i,j)为6X6,k1=0.6,k2=0.75时,有
    在这里插入图片描述
    那么,得到的G图像行和列数为x=[1,60.6]=[1,4],四舍五入,最后留下4行,y=[1,60.75]=[1,5],最后留下5列。而行列所对应的值为原始F保留的对应目标像素的值,即G(x,y) = F(c1x,c2y)。

    2. 图像的放大

    图像放大从信息处理的角度来看,与图像缩小难易程度完全不一样,图像缩小是从众多信息中选出需要的信息,而图像放大则是需要对多出的空位填入适当的值,是信息的估计。
    当放大倍数为整数时,最简单的方法是将原图像中的像素值,填在新图像中对应的kk大小的子块中。
    设原始图像为F(i,j),i=1,2,…,M j=1,2,…,N;
    放大后的图像为G(x,y),,x=1,2,…,k1M y=1,2,…,k1N;
    则有G(x,y) = F(c1
    i,c2*j),其中c1 = 1/k1,c2=1/k2
    在这里插入图片描述

    3. 用python实现图像的缩放

    3.1 方法一:PIL库实现

    相关库PIL,PIL(Python Imaging Library,图像处理库)提供了通用的图像处理功能,主要包括图像存储、图像显示、格式转换以及基本的图像处理操作。
    应用PIL下Image类:

    变换结果 数据属性以及内存地址
    src <PIL.PngImagePlugin.PngImageFile image mode=RGB size=512x512 at 0x20AF35975C8>
    resized resized: <PIL.Image.Image image mode=RGB size=307x384 at 0x20AF4266AC8>
    thumbnail thumbnail: <PIL.PngImagePlugin.PngImageFile image mode=RGB size=307x307 at 0x20AF35975C8>

    thumbnail 缩略图是网络开发或图像软件预览常用的一种基本技术。thumbnail 方法直接修改原图为缩略图,不会另外创建新内存。resized会在创建新的内存保存缩放数据。
    在这里插入图片描述
    代码实现:

    def ChangeSizeofImg(imgDress,wRate=0.6,hRate=0.75):
        img = Image.open(imgDress)
        print("src:",img)
        new_x, new_y = img.size
        new_x, new_y = int(wRate*new_x),int(hRate*new_y)
        # 得到修改数据
        resized = img.resize((new_x, new_y),resample=Image.LANCZOS)
        print("resized:",resized)
        # 修改原始数据
        img.thumbnail((new_x, new_y),resample=Image.LANCZOS)
        print("thumbnail:",img)
        return resized, img
    
    if __name__ == "__main__":
        out3,out4 = ChangeSizeofImg("./data/lena.png")
        # 数据格式非mat,不能有cv.show显示。out3与out4是PIL Image的实例,直接调用方法显示。
        out3.show()
        out4.show()
    

    注意:返回的out3与out4是PIL Image的实例,直接调用show方法显示,不能和cv中的imshow混用。

    3.2 方法二:cv库实现

    cv2.resize(src,dsize[,dst[,fx[,fy[,interpolation]]]]) -> dst

    interpolation - 插值方法。共有5种:
    1)INTER_NEAREST - 最近邻插值法
    2)INTER_LINEAR - 双线性插值法(默认)
    3)INTER_AREA - 基于局部像素的重采样(resampling using pixel area relation)。对于图像抽取(image decimation)来说,这可能是一个更好的方法。但如果是放大图像时,它和最近邻法的效果类似。
    4)INTER_CUBIC - 基于4x4像素邻域的3次插值法
    5)INTER_LANCZOS4 - 基于8x8像素邻域的Lanczos插值

    实现缩放:
    在这里插入图片描述
    在这里插入图片描述
    代码:

    #!/usr/bin/python
    # -*- coding = utf-8 -*-
    # author: beauthy
    # date: 2020.3.27
    # version: 1.0.0
    """
    输出缩放图像OutResizeImage
    """
    __author__ = 'beauthy'
    
    import cv2
    import os
    
    def OutResizeImage(img,wRate=0.6,hRate=0.75):
        """
        缩小图像比例为(0.6,0.75)
        放大图像比例为(1.5,1.2)
        """
        height, width = img.shape[:2]
        if (wRate<1) & (hRate<1):
            # 缩小图像
            size = (int(width*wRate),int(height*hRate))
            shrink = cv2.resize(img,size,interpolation=cv2.INTER_AREA)
            return shrink
        else:
            # 放大图像
            fx,fy = wRate,hRate
            enlarge = cv2.resize(img,(0,0),fx=fx,fy=fy,interpolation=cv2.INTER_CUBIC)
            return enlarge
    
    if __name__ == "__main__":
        im = cv2.imread("./data/lena.png",-1)
        # if im == None:
        #     print("Error:could not load image")
        #     os._exit(0)
        # 缩小
        out1 = OutResizeImage(im)
        # 放大
        out2 = OutResizeImage(im,1.5,1.2)
        # 显示
        cv2.imshow("src",im)
        cv2.imshow("out1",out1)
        cv2.imshow("out2",out2)
        cv2.waitKey(0)
    
    展开全文
  • 图像放大方法概述

    千次阅读 2012-10-23 12:37:04
    影视制作领域,往往会涉及到将低分辨率的图像放大为高分辨的图像的问题,有时候还会涉及到 非正方形像素到正方形像素的调整问题。本章将在图像放大算法,像素宽高比调整方法以及图像序列放大批处理技术等三方面的...

    影视制作领域,往往会涉及到将低分辨率的图像放大为高分辨的图像的问题,有时候还会涉及到 非正方形像素到正方形像素的调整问题。本章将在图像放大算法,像素宽高比调整方法以及图像序列放大批处理技术等三方面的问题与读者进行探讨。

    一、 图像放大算法

     
        图像放大有许多算法,其关键在于对未知像素使用何种插值方式。以下我们将具体分析几种常见的算法,然后从放大后的图像是否存在色彩失真,图像的细节是否得到较好的保存,放大过程所需时间是否分配合理等多方面来比较它们的优劣。
    当把一个小图像放大的时候,比如放大400%,我们可以首先依据原来的相邻4个像素点的色彩值,按照放大倍数找到新的ABCD像素点的位置并进行对应的填充,但是它们之间存在的大量的像素点,比如p点的色彩值却是不可知的,需要进行估算。
    图1-原始图像的相邻4个像素点分布图
    图2-图像放大4倍后已知像素分布图

     

    1、最临近点插值算法(Nearest Neighbor)

    最邻近点插值算法是最简单也是速度最快的一种算法,其做法是將放大后未知的像素点P,將其位置换算到原始影像上,与原始的邻近的4周像素点A,B,C,D做比较,令P点的像素值等于最靠近的邻近点像素值即可。如上图中的P点,由于最接近D点,所以就直接取P=D。
    这种方法会带来明显的失真。在A,B中点处的像素值会突然出现一个跳跃,这就是出现马赛克和锯齿等明显走样的原因。最临近插值法唯一的优点就是速度快。
     

    2、双线性插值算法(Bilinear Interpolation)

    其做法是將放大后未知的像素点P,將其位置换算到原始影像上,计算的四個像素点A,B,C,D对P点的影响(越靠近P点取值越大,表明影响也越大),其示意图如下。
    图3-双线性插值算法示意图
    其具体的算法分三步:

    第一步插值计算出AB两点对P点的影响得到e点的值。
    图4-线性插值算法求值示意图
    对线性插值的理解是这样的,对于AB两像素点之间的其它像素点的色彩值,认定为直线变化的,要求e点处的值,只需要找到对应位置直线上的点即可。换句话说,A,B间任意一点的值只跟A,B有关。
    第二步,插值计算出CD两点对P点的影响得到f点的值。
    第三步,插值计算出ef两点对P点的影响值。
    双线性插值算法由于插值的结果是连续的,所以视觉上会比最邻近点插值算法要好一些,不过运算速度稍微要慢一点,如果讲究速度,是一个不错的折衷。
     

    3、双立方插值算法(Bicubic Interpolation)

        双立方插值算法与双线性插值算法类似,对于放大后未知的像素点P,将对其影响的范围扩大到邻近的16个像素点,依据对P点的远近影响进行插值计算,因P点的像素值信息来自16个邻近点,所以可得到较细致的影像,不过速度比较慢。
     
    图5-双线性插值算法4个邻近点影响未知点信息示意图

    图6-双立方插值算法16个邻近点影响未知点信息示意图
     
    不过双立方插值算法与双线性插值算法的本质区别不仅在于扩大了影响点的范围,还采用高级的插值算法,如图所示。
    图7-非线性插值算法求值示意图
     
    要求A,B两点之间e点的值,需要利用A,B周围A-1,A,B,B+1四个点的像素值,通过某种非线性的计算,得到光滑的曲线,从而算出e点的值来。
    所谓“双”或者叫“二次”的意思就是在计算了横向插值影响的基础上,把上述运算拓展到二维空间,再计算纵向插值影响的意思。
    双立方插值算法能够得到相对清晰的画面质量,不过计算量也变大。该算法在现在的众多图像处理软件中最为常用,比如Photoshop,After Effects,Avid,Final Cut Pro等。
    为了得到更好的图像质量,在以上的基础上,许多新的算法不断涌现,它们使用了更加复杂的改进的插值方式。譬如B样条(B-SPline), 米切尔(Mitchell)等插值算法,它们的目的是使插值的曲线显得更平滑,图像边缘的表现更加完美。
     

    4、 自适应样条插值极其增强技术( S-Spline  &  S-Spline  XL)

    与上述经典的插值方法最大的区别在于, S-Spline 采用了一种自适应技术,那些传统的方法总是依据周围的像素点来求未知点的色彩值,也就是说需要求解的色彩值仅仅依靠该像素点在图像中的位置,而非实际的图像的像素信息,而自适应样条算法还会考虑实际图像的像素信息。 实验表明,经过 S-Spline 算法得到的图像效果要优于双立方插值算法。
    现在 S-Spline 算法又出现了增强版 S-Spline  XL,新版本的 S-Spline XL 算法较 S-Spline 而言画面的锐度得到进一步增强,物体的轮廓更加清晰,边缘的锯齿现象大大减弱,图像感受更加自然。

    二、 图像放大算法 实际测试 

    现在我们来对以上几种插值算法进行实际测试,看看它们的效果。首先打开原始的图像bird.jpg.这是一个分辨率为360×270的图像。
    图8-原始图像
     
    我们采用 BenVista 公司著名的 PhotoZoom Pro 2 软件,在pc电脑上进行测试,电脑的CPU配置为Inter Core 2 T5500 1.66GHz,分别采用以上5种插值方法把原始图像放大8倍得到5个2880×2160的图像。
    图9-最临近点插值N earrst_ N eighbour
     
    图10-双线性插值B ilinear
     
    图11-双立方插值B icubic
     
    图12-自适应样条插值S-S pline
     
    图13-自适应样条增强性插值S-S pline_ XL
     
    对比以上各图并结合实验数据,我把效果参数列举如下表。
    插值类型 主观感受 图像轮廓 总体评价 处理耗时
    最临近点插值
    N earrst_ N eighbour
    马赛克现象严重 不清晰 最差 5秒
    双线性插值
    B ilinear
    图像模糊,不锐利 边缘不清晰,有锯齿现象 6秒
    双立方插值
    B icubic
    图像较模糊,较锐利 锯齿现象有所改善 折中 8秒
    自适应样条插值
    S-S pline
    图像相对清晰,锐利 边缘变得清晰,锯齿现象消失 18秒
    自适应样条增强
    S-S pline_ XL
    图像清晰,锐利 边缘锐利,清晰 最好 20秒

       显然,为了得到最好的图像放大质量,在可选条件下,我们应该使用自适应样条插值增强(S-S pline_ XL)技术来放大图像。

    三、像素宽高比调整 

    现在我们就以35mm胶片拷贝的4k等效分辨率4096×3112为标准,使用自适应样条插值增强(S-S pline_ XL)技术,对SD-NTSC制式720×486(720×480)分辨率的图像进行放大。同时来说明如何调整非正方形像素到正方形像素的调整方法。
    以NTSC_720×486的图像为例,它与4k胶片等效分辨率4096×3112而言,存在显示比例不同的问题,为了最大化保留画面的信息,我们以信箱模式为例进行调整,同时我们还要考虑NTSC制式像素宽高比变化的问题。
        我们知道NTSC图像的像素的宽高比并不是1:1的,而是0.9:1。在方形像素显示模式下,调用NTSC图像时候,我们发现图像会发生变形,即感觉画面被压扁了。如图所示:
                       
              图14-NTSC长方形像素示意图                                                                                 图15-方形像素示意图
     
    图16-方形像素显示模式下NTSC图像纵向被压缩示意图
     
    现在我们从 BenVista PhotoZoom Pro 2.3.2 软件中,先调整像素宽高比变形问题,再调整画面放大参数。
    打开 BenVista PhotoZoom Pro 2.3.2 软件,它不仅支持单幅图像的放大处理,还可以批处理图像序列帧,此版本支持tif,png,tga,bmp等图像格式,在使用的时候我们需要生成软件所支持的格式,一般用tif或png格式。
     
    1).关闭maintain aspect tatio,然后预调整新生成的图像宽度为720×0.9=648,校正因画面像素宽高比变化导致的画面变形现象,参数调整如图所示。
     
    图17-预调整参数示意图
     
    2).现在调整新生成的图像宽度值为4096,调整高度值为486×(4096/648)=3072。即等比例放大预生成的图像到35mm胶片的等效分辨率大小,随后定义放大的插值方式为S-S pline_ XL即可。
    不过由于画幅比例问题,当使用 35 mm胶片进行记录时,由于其4k等效分辨率为4 0 96  x  3112,所以胶片的上下边将留出一定的黑边。
     

    四、图像放大批处理 

        通过以上的分析,我们了解了使用 BenVista PhotoZoom Pro 2.3.2 软件放大单帧图像的方法,再结合它的批处理技术,就可以实现对图像序列的放大了。
         在其工具栏中直接启动new Batch选项,然后点击Add Images按钮添加图像序列帧,然后选中所有的帧,依据源格式以及所需要生成的图像尺寸,结合上面的分析数据填充放大的后的图像尺寸和插值运算模式,并制定生成路径后点击运行,便可以实现图像序列的批处理。
    图18-添加图像序列示意图
     
        经过一定时间的处理,我们便能得到大尺寸图像序列帧画面了。
    展开全文
  • 数字图像处理(2)——图像放大

    千次阅读 2019-09-20 10:22:48
    在matlab中,有专门的函数 imresize来进行图像放大,本篇文章将不采用调用函数,分别用近邻插值[Nearest-neighbor interpolation]、双线性插值[Bilinear interpolation]来进行图像放大。 近邻插值 I=imread('pic2....
  • JavaScript放大镜插件magnifier实现图像放大效果 源代码下载地址http://www.zuidaima.com/share/1801078585658368.htm
  • 高性能图像放大算法——waifu2x方法

    万次阅读 2018-06-06 16:46:12
    在前面的博客中介绍了hqx图像放大算法,其图像放大的效果是好于传统的双线性插值、三次插值算法的。但是在图像放大倍数较高的时候图像中的边缘还是存在锯齿的现象。但是其也有很明显的优点,那就是速度快。 在本文...
  • 图像放大算法概述

    千次阅读 2010-09-26 21:12:00
    在影视制作领域,往往会涉及到将低分辨率的图像放大为高分辨的图像的问题,有时候还会涉及到 非正方形像素到正方形像素的调整问题。本章将在图像放大算法,像素宽高比调整方法以及图像序列放大批处理技术等三方面的...
  • 图像放大算法介绍(转载)

    千次阅读 2019-02-24 21:59:36
    一、 图像放大算法     图像放大有许多算法,其关键在于对未知像素使用何种插值方式。以下我们将具体分析几种常见的算法,然后从放大后的图像是否存在色彩失真,图像的细节是否得到较好的保存,放大过程所需...
  • 详谈动态窗口下图像放大功能

    千次阅读 2016-11-25 15:56:59
    图像放大,缩小,或填充整个窗口几乎成为这类软件的标配。机器视觉 大师提供了显示图像类似的功能(在显示菜单下)。对应地,工具栏也有类似的按钮, 如下图: “放大”按钮将当前视频图像帧放大一级显示,...
  • Matlab里的imresize函数可以对图像放大和缩小,但这同时也会改变图像矩阵的大小,如果想要上图所示的结果,需要再进行一些处理,处理代码如下所示。 clc close all; % 从当前目录下打开一张图片 [filename, ...
  • 一个简单的 双三次B样条算法 实现的 图像放大 B样条算法图像放大的学习和实现 一、总体设计思路 本次B样条图像放大的实现建立在之前做的图像的显示,双线性插值图像放大的基础上。因为有之前的基础,所以实际上...
  • Verilog实现基于双线性插值算法的图像放大IP设计 本文主要介绍一下verilog实现基于双线性插值算法的图像放大IP的实现思路,最终利用该方法实现了实时的图像放大处理。关于双线性插值的原理,网上有很多讲解的特别好...
  • [MATLAB]最邻近插值法进行图像放大

    千次阅读 2020-11-24 20:12:29
    [MATLAB代码]关于运用最邻近插值法进行图像放大 %导入图片并显示原图 img=imread('pepper.bmp'); figure; imshow(img); title('原图'); %计算原图长、宽、通道数 [row col ch]=size(img); %画布放大两倍 rr=ceil...
  • 图片的放大和缩小如果不是等比例的话一定会带来图像的畸变。 (1)图像的缩小 (2)图像放大 (3)图像任意不成比例放大 (二)软件设计 在这里我为了省事并没有进行特别复杂的查只算法而是直接用之前的像素...
  • 双线性插值实现图像放大
  • 1.使ps图像放大后变清晰 正常直接拉伸图片,图片会变得十分模糊 点击图像,重新采样改为保留细节2.0 减少杂色拉到 100 然后图片就会变得清晰 2.使ps中文件的文字变清晰 首先ctrl+shift+u去色,然后用笔分别吸取...
  • 不采用Matlab函数,自行设计基于双线性插值的图像放大程序相关基础知识关键知识matlab源代码 相关基础知识 由于本人不怎么用csdn写博客,写法不熟练,这里只给大家分享源代码和部分关键知识截图,详细知识请根据下面...
  • 图像放大子程序

    2015-04-04 21:55:02
    本程序实现图像横纵坐标个放大二倍的经典代码: 实现1个原像素和4个放大图像像素直接对应的巧妙实现。 function A=blow(B) %%像素放大的完整子程序,其实第三维是完全meiyou必要的 [n,m,c]=size(B); %%第三维为1...
  • Qt 图像放大缩小拖动

    千次阅读 2019-06-24 14:42:22
    效果: 点击拖动图片。 滚轮放大缩小。 技术小白。。。。只能做成这样的效果了。
  • 更早之前用Opencv写过双线性插值图像放大,不过写的比较混乱。所以这里用matlab重新再清楚的写一遍。 close all; clear all; clc; m=1.8; %放大或缩小的高度 n=2.3; %放大或缩小的宽度 img=imread('len...
  • GDI+、FFMPEG图像放大算法性能比较

    千次阅读 2016-07-14 20:56:05
    GDI+、FFMPEG图像放大算法性能比较最近在做link的时候要放大图片,使用了传说中gdi+最好的高质量双三次插值算法,然后在连续放大时就卡成幻灯片了。试了其他几个算法,发现卡顿情况有缓解,显示效果也没什么差别(也...
  • 仿射变换过程中,把图像放大,原来的像素点映射到新图形时并不能满射,会出现有镂空的现象,请问一般是怎么处理呢?
  • 基于matlab图像放大缩小测试

    千次阅读 2016-12-03 11:51:10
    下面我将按照线性代数的原理来实现图像放大缩小。 ImageS 源图像, ImageSx 源图像的宽度, ImageSy 源图像的高度 ImageD 目标图像, ImageDx 目标图像的宽度, ImageDy 目标图像的高度
  • 高性能图像放大算法——hqx算法

    千次阅读 2018-06-01 20:19:01
    ”x” 代表放大倍数)算法准确来说是hqnx算法, 是Maxim Stepin开发的Pixel-art scaling algorithms算法之一。hqx有三个滤波器:hq2x、hq3x和hq4x,其放大倍数分别为2、3和4。 先来看下使用最邻近插值算法得到的...
  • 图像放大算法(马赛克效果)

    千次阅读 2009-10-11 10:05:00
    图像放大即把较小的图像绘制在较大的空白图像上。这只介绍马赛克效果的原理以及模拟实现。上图可以看出,马赛克效果的图像放大就是原始像素点的放大。模拟实现算法:C#:class Program { static void Main...
  • 图像放大漫游攻略

    千次阅读 2004-01-14 11:01:00
    图像放大漫游攻略 我想大家应该都用过 ACDSee 或者 Windows XP,它们都支持图像的放大和漫游,虽然网上也有相关的资料,但是都不是很全面,今天我给大家介绍一种方法,由于篇幅的关系,主要讲如何实现,尽量做到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,862
精华内容 37,144
关键字:

图像放大