一种基于直线扩展收缩模式的图像缩放方法与流程

文档序号:14351901阅读:258来源:国知局
一种基于直线扩展收缩模式的图像缩放方法与流程

本发明涉及一种基于直线扩展收缩模式的图像缩放方法,属于图像处理领域。



背景技术:

图像缩放是指对原始图像进行放大或者缩小的操作。实际上,图像放大是对原始图像像素的扩充,而图像缩小是对原始图像像素的删减。性能卓越的图像缩放方法要在保证缩放后图像质量的前提下尽可能的快速,并要同时防止图像缩小操作造成的走样现象。事实上,图像的缩放问题可以转化为优化问题,并采用机器学习技术加以解决,其输出的图像结果可以有效的避免走样、过度平滑等现象。然而,机器学习算法均为多项式级的时间复杂度,故难以保证缩放的时间消耗。基于重采样插值技术,譬如bilinear、bicubic、boxsampling等,具有线性的时间复杂度,但在保证输出图像质量方面有所欠缺。

这些缩放方法往往在图像局部信息损失和时间消耗两个方面进行折中处理。具体来说,在2013年的综述分析《performanceevaluationofedge-directedinterpolationmethodsfornoise-freeimages》中,dcci(directionalcubicconvolutioninterpolation定向立方卷积插值)方法《imagezoomingusingdirectionalcubicconvolutioninterpolation》具有较好的应用效果,此可从实验上的峰值信噪比(psnr)和结构相似性度量(ssim)的评分得出。

《fastdigitalzoomingsystemusingdirectionallyadaptiveimageinterpolationandrestoration》的方法类似于《imagezoomingusingdirectionalcubicconvolutioninterpolation》,时间上的消耗更少。《content-adaptiveimagedownscaling》中提出一种过滤方法根据图像内容调节核滤波器以取得较好的图像质量,而《rapid,detail-preservingimagedownscaling》使用卷积滤波器来进行图像缩小。

《perceptuallybaseddownscalingofimages》中以结构相似度度量为目标来优化得到缩小的图像。《imageinterpolationviacollagingitsnon-localpatches》中提出一种空间插值方法,通过拼接低分辨率的子图来重构形成高分辨率结果。相比于其他结构化的空间表示方法《optimizedimageresizingusingseamcarvingandscaling》和《singleimageinterpolationviaadaptivenonlocalsparsity-basedmodeling》,该方法非常高效,并且不需要求解复杂的优化问题。近期基于事例和基于学习的方法被验证具有高效性,因为对于图像的细节部分可以进行精确的重构。其中,方法《learningadeepconvolutionalnetworkforimagesuper-resolution》、《imagesuper-resolutionusingdeepconvolutionalnetworks》、《raisr:rapidandaccurateimagesuperresolution》和《highqualityimageresizing》通过建立图像外部数据库,对其进行学习得到从低分辨率图像到对应的高分辨率的函数,来实现对图像的放大操作。

通过以上对图像缩放技术的综述,我们发现,在基于分段直线形式的图像压缩后的数据上,没有进行图像缩放技术的研究成果。

图像压缩技术可以大幅度的减少图像的存储,更为重要的是压缩后的数据是对原始像素信息的知识表示转换,这种转换的数据有利于后期的图像处理。目前已经存在大量的图像压缩技术,包括离散小波变换、符号映射、直方图、分段线性拟合(pla)等。因为pla具有简单性和直观性,所以该方法一直被广泛使用。分段线性拟合(pla)将原始的像素点表示成线段的形式(连续的、非连续的以及半连续的),这可以高效的处理和近似原始数据。从现有的文献看,大部分的早期技术,先设定固定的分段表示数量(或均方误差),通过极小化重构像素和原始像素的均方误差(或者分段表示数量),来达到压缩的目的。但是,均方误差的度量标准(l2norm)并不能保证恢复后的像素在可控的误差范围之内,这一缺点限制了基于该度量的压缩技术在很多领域的应用。针对该问题,近期基于最大误差标准(maximum-error)的众多压缩技术被提出。这些方法,通过设定最大误差(即重构的数据和对应的原始像素之间的差值),来极小化线段的分割个数,基于最大误差的pla压缩技术被称作l∞-boundpla。其中,liu等人在《novelonlinemethodsfortimeseriessegmentation》中提出fsw(feasiblespacewindow)方法,该方法先固定的起始点,通过寻找可行的线段表示空间来构造分割片段。qi等人在《indexableonlinetimeseriessegmentationwitherrorboundguarantee》和《anadaptivealgorithmforonlinetimeseriessegmentationwitherrorboundguarantee》中将fsw方法的思想进行扩展,针对多维数据,形成多项式曲线分割。xie等人在《hierarchicallycompressedwaveletsynopses》中通过极大化局部分割的长度,提出一种具有线性时间复杂度的最优化方法,可以产生最少个数的不连续线段分割。zhao等人在《segmentingtimeserieswithconnectedlinesundermaximumerrorbound》和《anoptimalpiecewiselinearapproximationalgorithmonsemi-connectedsegmentationunderl_∞metric》提出两个方法,通过优化相邻线段分割,用来形成连续的和最优化的半连续的分段结果。

针对图像缩放操作,基于事例和基于学习的方法被验证具有较好的视觉效果,但是时间消耗大;基于重采样插值技术相比与前者具有较高的执行效率,比较适合对低分辨率的图像进行处理。两种技术,对大数据环境下的超高分辨率图像缩放效率受到限制。



技术实现要素:

本发明针对图像缩放问题提供了一种缩放时间短、能极大保持原始图像特征的基于直线扩展收缩模式的图像缩放方法。

本发明解决技术问题所采用的技术方案如下:

一种基于直线扩展收缩模式的图像缩放方法,其包括如下步骤:

步骤一、对于由图像像素组成的原始图像矩阵(1)采用linearlization或optimalplr压缩方法逐行进行压缩处理从而获得线段分割形式,所述线段分割形式即为压缩后的数据;假设原始图像矩阵(1)如下:

其中,imn为原始图像矩阵中第m行第n列的像素值;

单行数据表示为ii={ii1,ii2,…,iin},i是表示第i行的角标,将ii看作时间序列的数值,时间序列si={(1,ii1),(2,ii2),…,(k,iik),…,(n,iin)},其中k=1,2,…,n;

通过linearlization或optimalplr压缩方法对时间序列si进行压缩,得到压缩结果序列sc,具体压缩方法如下:

(1)利用linearlization压缩方法具体如下:

将时间序列si的第一个点(1,ii1)存入压缩结果序列sc,利用存入压缩结果序列sc的点(1,ii1)和该点在时间序列si中向后相邻的点(2,ii2)两点构成直线lcurrent,判断时间序列si中(2,ii2)向后相邻的点(3,ii3)是否在直线lcurrent上,如果在直线lcurrent上,依次继续判断向后相邻的点是否在直线lcurrent上,直至时间序列si中的某一点(k,iik)不在直线lcurrent上,此时将不在直线lcurrent上的该点(k,iik)的前一个点(k-1,ii(k-1))存入压缩结果序列sc;以此类推,以不在直线lcurrent上的(k,iik)点作为新的第一个点继续重复上述步骤,直到si={(1,ii1),(2,ii2),…,(n,iin)}压缩结束;

(2)利用optimalplr压缩方法具体如下:

指定一个最大误差δ,si={(1,ii1),(2,ii2),…,(k,iik),…,(n,iin)}从第一个点(1,ii1)开始,每一点在纵坐标上加或减最大误差δ,利用两个点(1,ii1-δ),(2,ii2+δ)构成最大直线lmax,利用两个点(1,ii1+δ),(2,ii2-δ)构成最小直线lmin,然后进行两种判断:其一、判断第三个点(3,ii3)所对应的两个点(3,ii3+δ),(3,ii3-δ)组成的线段是否包含在最大直线lmax和最小直线lmin相交组成的夹角空间中;其二、判断第三个点(3,ii3)所对应的两个点(3,ii3+δ),(3,ii3-δ)组成的线段是否相交于最大直线lmax或相交于最小直线lmin,如果上述两种判断中任一种成立是,说明存在一条直线使得当前处理过的点(1,ii1),(2,ii2),(3,ii3)在δ的误差限定内,则按照下述公式(2)更新最大直线lmax和最小直线lmin的斜率:

其中,lmin[1,k+1]、lmax[1,k+1]表示判断第k个点(k,iik)成立是时的lmin和lmax的斜率;

q和w遍历[1,k]区间内的所有整数值,且1≤q<w≤k;

继续针对下两个点(4,ii4+δ),(4,ii4-δ)组成的线段进行上述两种判断,如果任一种判断成立是,则继续依照公式(2)更新最大直线lmax和最小直线lmin,依此类推,直到某点(k,iik+δ),(k,iik-δ)成立否,此时选择最后一次更新后的最大直线lmax或最小直线lmin计算时间序列si中x=1和x=k-1对应的纵坐标ii1’和iik-1’,将得到的第1个压缩存储点c1=(1,ii1’)、第2个压缩存储点c2=(k-1,iik-1’)存入压缩结果序列sc;

利用所述最后一次更新后的最大直线lmax或最小直线lmin计算起始点(1,ii1’),终点(k-1,iik-1’)的方法如下:

最大直线lmax=amaxx+bmax,最小直线lmin=aminx+bmin,,其中amax,bmax,amin,bmin欲求得两点(1,ii1’),(k-1,iik-1’)所对应的纵坐标值ii1’和iik-1’,需把x=1,x=k-1同时代入最大直线lmax或最小直线lmin,例如代入最大直线lmax得到ii1’=amax*1+bmax,iik-1’=amax*(k-1)+bmax,代入最小直线lmin得到ii1’=amin*1+bmin,iik-1’=amin*(k-1)+bmin。

继续以后续的两个点(k,iik-δ),(k+1,ii(k+1)+δ)构成最大直线lmax,以两个点(k,iik+δ),(k+1,ii(k+1)-δ)构成最小直线lmi,重复上述过程,直到si={(1,ii1),(2,ii2),…,(n,iin)}结束;

经过上述压缩过程,得到对每一行的压缩结果序列sc={c1,c2,…,ci,…cp},其中p<n,ci表示第i个压缩存储点;

步骤二、在相应的放大或缩小倍数下,通过policyi或policyii策略来实现拉长线段,通过重新采样实现缩短线段,以获得在行方向上的放大或缩小图像,具体方法如下:

(1)获得在行方向上图像放大的方法如下:

假设在行方向上放大的倍数为h,对于压缩结果序列sc中的每一压缩存储点ci(1≤i≤p)的横坐标ci.x乘以h,其纵坐标ci.y不变,得到压缩存储点的集合{(c1.x*h,c1.y),(c2.x*h,c2.y),…,(ci.x*h,ci.y),…,(cp.x*h,cp.y)},其中cp.x=n;

按照policyi策略,此时,如果ci+1.x-ci.x>1,利用相邻的两个压缩存储点(ci.x*h,ci.y)和(ci+1.x*h,ci+1.y)形成直线填充在位置(ci.x*h,ci+1.x]内的任何一点的值;如果ci+1.x-ci.x=1,直接用ci+1.y来填充(ci.x*h,ci+1.x*h]内每一点的值;

按照policyii策略,此时,无论ci+1.x-ci.x>1还是ci+1.x-ci.x=1,均利用相邻的两个压缩存储点(ci.x*h,ci.y)和(ci+1.x*h,ci+1.y)形成直线填充在位置(ci.x*h,ci+1.x*h]内的任何一点的值;

(2)获得在行方向上图像缩小的方法如下:

假设行方向上缩小的倍数为h,对于压缩结果序列sc中的每一压缩存储点ci(1≤i≤p)的横坐标ci.x除以h,其纵坐标ci.y不变,得到压缩存储点的集合{(c1.x/h,c1.y),(c2.x/h,c2.y),…(ci.x/h,ci.y),…,(cp.x/h,cp.y)},其中cp.x=n;

此时,利用相邻的两个压缩存储点(ci.x/h,ci.y),(ci+1.x/h,ci+1.y)形成直线填充在位置(ci.x/h,ci+1.x/h]内的任何一点的值;

步骤三、对步骤二中行方向放大的数据,采用步骤二的过程逐列进行放大处理,达到在列上的放大图像,从而得到整体放大的图像;或者,对步骤二中行方向缩小的数据,采用步骤二的过程逐列进行缩短处理,达到在列上的缩小图像,从而得到整体缩小的图像。

本发明的有益效果如下:

(1)本发明的步骤一直接基于pla压缩数据的图像缩放技术,步骤一的压缩算法不仅可以针对静态图像数据,而且可以针对动态数据流的图像数据进行压缩,相对其他压缩算法速度快,占用内存小,步骤二和步骤三缩放操作简单直观,并直接基于压缩后的数据,不用恢复原始图像后再进行操作,而基于kernel的插值缩放技术,不具有以上特点。

(2)其它直线拟合算法,包括l2,lp度量下的算法,例如sw算法、topdown算法、downtop算法以及swab算法,可替换步骤一,直接用到此方法中,灵活性强,但topdown算法和downtop算法不能针对动态数据流的图像数据进行压缩,sw算法和swab算法不适合针对动态数据流的图像数据进行压缩,因为不保质,不能控制每一像素点误差。

(3)本发明采用步骤一直接基于pla压缩数据的图像缩放技术,可以极大的保持原始图像特征,原理如下:

a.在最大误差δ小于0.5的限定下,本方法针对图像的压缩是无损压缩,即可以完全恢复原始图像;

b.在最大误差δ小于0.5的限定下,本发明具有理论上的上还原性(up-stability),即放大n*n倍,再缩小1/n*1/n倍,可恢复原始图像,峰值信噪比度量为inf,结构相似度度量为1;

c.在最大误差δ小于0.5的限定下,具有理论上的下一致性(down-consistency),即原始图像中的任意一条直线,在缩小的图像中,该直线的特征仍然保持。

附图说明

图1为本发明中压缩方法的伪代码描述

图2为本发明中扩展策略的伪代码描述。

图3为本发明中缩放方法的伪代码描述。

图4为本发明中的缩放框架的扩展策略的示意图。

图5为本实施例缩放前的原始图像。

图6为采用plascale方法利用policyii策略横向放大两倍的结果。

图7为采用plascale方法利用policyii策略横向和纵向放大两倍的结果。

图8为对图5采用naivescale和plascale方法与经典插值方法的时间对比示意图。

图9为对图5采用naivescale和plascale方法考虑和不考虑压缩时间消耗的对比示意图。

具体实施方式

下面结合图1~图9和实施例对本发明的内容和效果做进一步说明:

如图1~图9所示,下面以lenna(256*256像素)为对象,以plascale方法采用policyii策略来进行2*2的放大。其中error=0.4。

原始图像如图5所示。

由于篇幅,现仅摘出第一行的像素信息如下,

(1)采用optimalplr对“lenna”每一行进行压缩处理,譬如针对第一行,操作后得到压缩点如下:

function2:113个分隔

(1,161.6),(2,162.4),(3,159.6),(4,161.4),(5,163.6),(6,159.4),(7,158.6),(8,156.4),(9,155.6),(10,161.4),(11,153.8),(13,155.4),(14,152.8),(17,155.2),(18,156.8),(20,164.4),(21,164.6),(22,168.4),(23,172.6),(24,171.4),(25,170.6),(26,171.4),(27,167.6),(28,160.4),(29,149.6),(30,146.4),(31,123.6),(32,112.4),(33,94.6),(34,92.4),(35,92.6),(36,100.4),(37,100.6),(38,104.4),(39,103.8),(41,109.4),(42,104.6),(43,106.4),(44,108.6),(46,106.2),(47,108.6),(48,108.4),(49,108.6),(50,109.4),(51,103.6),(52,106.4),(53,109.6),(54,114.4),(55,113.6),(56,120.4),(57,114.6),(58,121.4),(59,122.6),(60,122.4),(61,126.6),(62,126.4),(63,122.6),(64,132.4),(65,129.6),(66,132.4),(67,128.6),(68,129.4),(69,133.8),(71,131.4),(72,127.6),(73,130.4),(74,126.6),(75,131.4),(76,128.6),(77,130.4),(78,127.6),(79,134.4),(80,133.6),(81,129.4),(82,132.6),(84,134.2),(85,132.6),(86,134.4),(87,132.6),(89,134.2),(90,132.6),(91,131.4),(92,130.6),(94,135.4),(95,130.6),(96,131.4),(97,133.6),(98,133.4),(99,135.6),(102,134.4),(103,135.6),(104,132.4),(105,135.6),(109,129.2),(110,129.6),(111,131.4),(112,129.6),(113,129.4),(114,133.6),(115,134.4),(116,131.6),(117,133.4),(118,131.6),(119,130.4),(120,131.6),(121,135.4),(122,132.6),(123,133.4),(124,135.6),(125,131.4),(126,130.6),(127,128.4),(128,134.6),(129,141.4),(130,132.6),(132,128.2),(133,132.6),(134,130.4),(135,132.6),(136,128.4),(137,126.6),(138,131.4),(139,127.6),(140,134.4),(141,127.6),(142,127.4),(143,129.8),(145,129.4),(146,129.6),(148,127.2),(149,127.6),(150,127.4),(151,128.6),(152,128.4),(153,121.6),(154,123.4),(155,119.6),(156,120.4),(157,114.6),(159,109.4),(160,100.6),(161,107.4),(162,115.6),(164,137.2),(165,140.6),(166,148.4),(167,152.6),(170,160.4),(171,160.6),(172,154.4),(173,148.6),(177,154.2),(178,152.6),(179,155.4),(180,153.6),(181,158.4),(182,156.6),(183,153.4),(184,153.6),(185,152.4),(186,153.2),(189,151.4),(190,153.6),(191,155.4),(192,150.6),(193,155.4),(194,156.6),(195,157.4),(196,153.8),(198,159.4),(199,156.6),(200,153.4),(201,152.6),(202,166.4),(203,195.6),(204,206.4),(205,210.6),(206,213.4),(207,216.6),(208,217.4),(209,218.6),(210,208.4),(211,182.6),(212,136.4),(213,103.6),(214,101.4),(215,106.6),(216,108.4),(217,115.6),(218,119.4),(219,117.6),(220,122.4),(221,123.6),(222,117.4),(223,121.6),(224,119.4),(225,122.6),(226,126.4),(227,119.6),(228,119.4),(229,121.8),(232,121.2),(233,121.8),(235,123.4),(236,124.6),(237,126.4),(238,122.6),(239,125.4),(240,115.6),(241,126.4),(242,124.6),(243,128.4),(244,125.6),(245,125.4),(246,125.6),(247,126.4),(248,121.6),(249,116.4),(250,117.6),(251,116.4),(252,119.6),(253,148.4),(254,168.6),(255,172.4),(256,139)

(2)采用policyii对相邻得连接点进行拉伸操作,譬如:针对线段(2,162.4),(3,159.6)操作根据行扩展倍数2,得到扩展后的像素信息(2*2,162.4)和(3*2,159.6),然后计算两点形成的直线y=-1.4*x+168(4<=x<=6),可由该直线填充得到(4,162.4),(5,161)和(6,159.6),通过取整得到(4,162),(5,161)和(6,160)。

(3)对每一行进行(1)(2)操作,得到的行拉伸2倍的图像。

(4)对图6按照(1)、(2)和(3)对列进行操作,可到达最终的2*2放大图像图7。

为了验证本发明提出的缩放算法的优点,在此将比较四个常用的基于kernel的插值缩放方法(adobephotoshop中采用的方法):nearestneighbor,bilinear,bicubic和lanczos。所有的方法均在eclipse下的采用c++实现,并且利用opensourcecomputervisionlibrary(opencv)集成包。实验平台基于联想thankpadt450笔记本,参数如下:intelcorei7-5500u2.40ghz,2.40ghzand12gmemory。其中pla压缩算法采用的errorbound为0.4。

如图8和图9所示,bilinear,cubic和lancozes在较大的放大倍数性能远不如plascale和naivescale。例如,当放大15倍时,时间消耗分别为2.4s、12s、43s、1s和0.5s。时间效率的不同归因于基于kernel的插值方法思想与我们方法的不同。bilinear,cubic和lancozes重构每一个新的像素点基于周围的像素点,分别采用4,16和64个邻域像素进行操作,而本发明提出的方法采用两个压缩点形成直线表示来重构需要填充的新像素值。值得注意的是,由于plascale方法需要额外的计算“convexhulls”,在时间效率上,naivescale要比plascale效率高。图8和图9为对图5采用本方法和经典插值缩放方法在整体时间(压缩时间和缩放时间之和)上的对比示意图。

本实施例的具体方法如下:

一种基于直线扩展收缩模式的图像缩放方法,其包括如下步骤:

步骤一、对于由图像像素组成的原始图像矩阵(1)采用linearlization或optimalplr压缩方法逐行进行压缩处理从而获得线段分割形式,所述线段分割形式即为压缩后的数据;假设原始图像矩阵(1)如下:

其中,imn为原始图像矩阵中第m行第n列的像素值;

单行数据表示为ii={ii1,ii2,…,iin},i是表示第i行的角标,将ii看作时间序列的数值,时间序列si={(1,ii1),(2,ii2),…,(k,iik),…,(n,iin)},其中k=1,2,…,n;

通过linearlization或optimalplr压缩方法对时间序列si进行压缩,得到压缩结果序列sc,具体压缩方法如下:

(3)利用linearlization压缩方法具体如下:

将时间序列si的第一个点(1,ii1)存入压缩结果序列sc,利用存入压缩结果序列sc的点(1,ii1)和该点在时间序列si中向后相邻的点(2,ii2)两点构成直线lcurrent,判断时间序列si中(2,ii2)向后相邻的点(3,ii3)是否在直线lcurrent上,如果在直线lcurrent上,依次继续判断向后相邻的点是否在直线lcurrent上,直至时间序列si中的某一点(k,iik)不在直线lcurrent上,此时将不在直线lcurrent上的该点(k,iik)的前一个点(k-1,ii(k-1))存入压缩结果序列sc;以此类推,以不在直线lcurrent上的(k,iik)点作为新的第一个点继续重复上述步骤,直到si={(1,ii1),(2,ii2),…,(n,iin)}压缩结束;

(4)利用optimalplr压缩方法具体如下:

指定一个最大误差δ,si={(1,ii1),(2,ii2),…,(k,iik),…,(n,iin)}从第一个点(1,ii1)开始,每一点在纵坐标上加或减最大误差δ,利用两个点(1,ii1-δ),(2,ii2+δ)构成最大直线lmax,利用两个点(1,ii1+δ),(2,ii2-δ)构成最小直线lmin,然后进行两种判断:其一、判断第三个点(3,ii3)所对应的两个点(3,ii3+δ),(3,ii3-δ)组成的线段是否包含在最大直线lmax和最小直线lmin相交组成的夹角空间中;其二、判断第三个点(3,ii3)所对应的两个点(3,ii3+δ),(3,ii3-δ)组成的线段是否相交于最大直线lmax或相交于最小直线lmin,如果上述两种判断中任一种成立是,说明存在一条直线使得当前处理过的点(1,ii1),(2,ii2),(3,ii3)在δ的误差限定内,则按照下述公式(2)更新最大直线lmax和最小直线lmin的斜率:

其中,lmin[1,k+1]、lmax[1,k+1]表示判断第k个点(k,iik)成立是时的lmin和lmax的斜率;

q和w遍历[1,k]区间内的所有整数值,且1≤q<w≤k;

继续针对下两个点(4,ii4+δ),(4,ii4-δ)组成的线段进行上述两种判断,如果任一种判断成立是,则继续依照公式(2)更新最大直线lmax和最小直线lmin,依此类推,直到某点(k,iik+δ),(k,iik-δ)成立否,此时选择最后一次更新后的最大直线lmax或最小直线lmin计算时间序列si中x=1和x=k-1对应的纵坐标ii1’和iik-1’,将得到的第1个压缩存储点c1=(1,ii1’)、第2个压缩存储点c2=(k-1,iik-1’)存入压缩结果序列sc;

利用所述最后一次更新后的最大直线lmax或最小直线lmin计算起始点(1,ii1’),终点(k-1,iik-1’)的方法如下:

最大直线lmax=amaxx+bmax,最小直线lmin=aminx+bmin,,其中amax,bmax,amin,bmin欲求得两点(1,ii1’),(k-1,iik-1’)所对应的纵坐标值ii1’和iik-1’,需把x=1,x=k-1同时代入最大直线lmax或最小直线lmin,例如代入最大直线lmax得到ii1’=amax*1+bmax,iik-1’=amax*(k-1)+bmax,代入最小直线lmin得到ii1’=amin*1+bmin,iik-1’=amin*(k-1)+bmin。

继续以后续的两个点(k,iik-δ),(k+1,ii(k+1)+δ)构成最大直线lmax,以两个点(k,iik+δ),(k+1,ii(k+1)-δ)构成最小直线lmi,重复上述过程,直到si={(1,ii1),(2,ii2),…,(n,iin)}结束;

经过上述压缩过程,得到对每一行的压缩结果序列sc={c1,c2,…,ci,…cp},其中p<n,ci表示第i个压缩存储点;

步骤二、在相应的放大或缩小倍数下,通过policyi或policyii策略来实现拉长线段,通过重新采样实现缩短线段,以获得在行方向上的放大或缩小图像,具体方法如下:

(3)获得在行方向上图像放大的方法如下:

假设在行方向上放大的倍数为h,对于压缩结果序列sc中的每一压缩存储点ci(1≤i≤p)的横坐标ci.x乘以h,其纵坐标ci.y不变,得到压缩存储点的集合{(c1.x*h,c1.y),(c2.x*h,c2.y),…,(ci.x*h,ci.y),…,(cp.x*h,cp.y)},其中cp.x=n;

按照policyi策略,此时,如果ci+1.x-ci.x>1,利用相邻的两个压缩存储点(ci.x*h,ci.y)和(ci+1.x*h,ci+1.y)形成直线填充在位置(ci.x*h,ci+1.x]内的任何一点的值;如果ci+1.x-ci.x=1,直接用ci+1.y来填充(ci.x*h,ci+1.x*h]内每一点的值;

按照policyii策略,此时,无论ci+1.x-ci.x>1还是ci+1.x-ci.x=1,均利用相邻的两个压缩存储点(ci.x*h,ci.y)和(ci+1.x*h,ci+1.y)形成直线填充在位置(ci.x*h,ci+1.x*h]内的任何一点的值;

(4)获得在行方向上图像缩小的方法如下:

假设行方向上缩小的倍数为h,对于压缩结果序列sc中的每一压缩存储点ci(1≤i≤p)的横坐标ci.x除以h,其纵坐标ci.y不变,得到压缩存储点的集合{(c1.x/h,c1.y),(c2.x/h,c2.y),…(ci.x/h,ci.y),…,(cp.x/h,cp.y)},其中cp.x=n;

此时,利用相邻的两个压缩存储点(ci.x/h,ci.y),(ci+1.x/h,ci+1.y)形成直线填充在位置(ci.x/h,ci+1.x/h]内的任何一点的值;

步骤三、对步骤二中行方向放大的数据,采用步骤二的过程逐列进行放大处理,达到在列上的放大图像,从而得到整体放大的图像;或者,对步骤二中行方向缩小的数据,采用步骤二的过程逐列进行缩短处理,达到在列上的缩小图像,从而得到整体缩小的图像。

上述详细说明是针对本发明可行实施例的具体说明,该实施例并非用以限制本发明的专利范围,凡未脱离本发明的等效实施或变更,均应包含于本案的专利保护范围中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1