发明名称 基于双三次插值的自适应图像缩放方法
摘要 一种基于双三次插值的自适应图像缩放方法,首先对源图像进行高斯模糊操作,以消除那些在低分辨率情况下无法显示的细节信息,避免缩放图像失真,然后查找目标图像像素点在源图像上的对应像素点位置,自适应选取对应像素点周围m个采样像素点,根据双三次插值函数求出每个采样像素点对应的权重值,根据m个采样像素点的权重值和m个采样像素点的像素值,加权求和得到缩放后的图像的像素值,最后对缩放后的图像进行锐化操作,使图像边缘清晰,得到目标图像。
申请公布号 CN103034973B 申请公布日期 2015.08.12
申请号 CN201210515983.3 申请日期 2012.12.05
申请人 焦点科技股份有限公司 发明人 达飞鹏;潘仁林;陶海跻;王辰星;郭涛;刘健;何学勇
分类号 G06T3/40(2006.01)I 主分类号 G06T3/40(2006.01)I
代理机构 南京瑞弘专利商标事务所(普通合伙) 32249 代理人 杨晓玲
主权项 一种基于双三次插值的自适应图像缩放方法,其特征在于,该方法包括以下步骤:1)记录源图像src的宽度sw和高度sh,以及目标图像dst的宽度dw和高度dh;2)对源图像src进行高斯模糊,得到高斯模糊图像g_blur,3)根据源图像的高度值sh及目标图像dst的高度值dh,对所述步骤2)中得到的高斯模糊图像g_blur按列进行双三次自适应插值缩放,得到中间插值图像t_image,具体步骤如下:对目标图像dst从上向下逐行计算归一化后的行权重xw,所述归一化后的行权重xw组成行权重数组x_array,然后按列提取所述步骤2)中得到的高斯模糊图像g_blur中的每一列的像素并按顺序组成列数组inpix,将所述高斯模糊图像g_blur中第xc列、第xr行像素的上下共xm个像素的像素值分别乘以行权重数组x_array中对应的权重值fxw得到xm个加权结果rx,并将得到的所有加权结果rx相加得到中间像素xp,作为中间插值图像t_image中的第xc列、第xr行的像素,所述中间像素xp的像素值;按上述方法计算得到中间插值图像t_image的所有中间像素xp,组成中间插值图像t_image;所述归一化后的行权重xw的计算方法为:31)求出缩放比例xsca=sh/dh,根据xpos=xd×xsca计算出目标图像dst的第xd行在高斯模糊图像g_blur中的对应位置xpos,32)求得选取的第一行的行序数<img file="FDA0000735999260000011.GIF" wi="528" he="97" />和最后一行的行序数<img file="FDA0000735999260000012.GIF" wi="520" he="97" />并计算选取的行个数xm=lpos‑fpos+1,33)令行序数xs分别为fpos,fpos+1,...,lpos,求出行序数xs与xpos在y方向的距离xa,将所述距离xa除以xsca,得到规范后的行距离xdis,将所述规范后的行距离xdis代入双三次插值函数:<img file="FDA0000735999260000021.GIF" wi="1347" he="492" />式中,fxw为双三次插值权重值,B为图像模糊调节程度,B∈[0,1],C为锯齿现象的调节程度,C∈[0,1],x<sub>2</sub>为输入变量,确定高斯模糊图像g_blur的调整后的行序数xsn,当xs<0时,xsn=0,当xs>sh‑1时,xsn=sh‑1,当0≤xs≤sh‑1时,xsn=xs,由目标图像dst行序数xd、高斯模糊图像g_blur的调整后的行序数xsn和双三次插值权重值fxw组成权重元素ew,按上述方法求取所有xm个权重元素ew,由所述xm个权重元素ew组成目标图像dst第xd行权重xw1,将所述权重xw1中的双三次插值权重值fxw进行归一化得到所述归一化后的行权重xw;4)根据源图像的宽度值sw及目标图像的宽度值dw,对所述步骤3)中得到的中间插值图像t_image按行进行双三次自适应插值缩放,得到缩放图像r_image,具体步骤如下:对目标图像dst从上向下逐列计算归一化后的列权重yw,所述归一化后的列权重组成列权重数组y_array,然后按行提取所述步骤3)中得到的中间插值图像t_image中的每一行的像素并按顺序组成行数组inpix,将所述中间插值图像t_image中第yc列、第yr行像素的左右共ym个像素的像素值分别乘以列权重数组y_array中对应的权重值fyw得到ym个加权结果ry,并将得到的所有的加权结果ry相加得到缩放像素yp,作为缩放图像r_image中的第yc列、第yr行的像素,所述缩放像素yp的像素值;按上述方法计算得到缩放图像r_image的所有缩放像素yp,组成缩放图像r_image;所述归一化后的列权重yw的计算方法为:41)求出缩放比例ysca=sw/dw,根据ypos=yd×ysca计算出目标图像dst的第yd行在中间插值图像t_image中的对应位置ypos,42)求得选取的第一列的列序数<img file="FDA0000735999260000031.GIF" wi="558" he="97" />和最后一列的列序数<img file="FDA0000735999260000032.GIF" wi="546" he="98" />并计算选取的列个数ym=lypos‑fypos+1,43)令列序数ys分别为fypos,fypos+1,...,lypos,求出列序数ys与ypos在x方向的距离ya,将所述距离ya除以ysca,得到规范后的列距离ydis,将所述规范后的列距离ydis代入所述步骤33)中的插值函数,得到双三次插值权重值fyw,确定中间插值图像t_image的调整后的列序数ysn,当ys<0时,ysn=0,当ys>sw‑1时,ysn=sw‑1,当0≤ys≤sw‑1时,ysn=ys,由目标图像dst列序数yd、中间插值图像t_image的调整后的列序数ysn和双三次插值权重值fyw组成权重元素yew,按上述方法求取所有ym个权重元素yew,由所述ym个yew组成目标图像dst第yd行权重ywa,将所述权重ywa中的双三次插值权重值fyw进行归一化得到所述归一化后的列权重yw,5)对所述步骤4)得到的缩放图像r_image进行反遮罩锐化操作,得到目标图像dst。
地址 210003 江苏省南京市高新开发区星火路软件大厦A座12F