主权项 |
一种基于网格形变最优化的图像非均匀映射方法,其特征在于,该方法具体包括:1)输入一幅大小为W*H的原始图像,并设定其目标尺寸为W<sub>T</sub>*H<sub>T</sub>,W为原始图像宽度,H为原始图像的高度,W<sub>T</sub>为目标图像的高度,H<sub>T</sub>为目标图像的高度;2)将原始图像进行考虑重要物体边缘的自适应初始矩形网格划分;3)当原始图像的尺寸发生改变时,尤其长宽比例发生改变时,根据每个网格的重要度wf对网格进行变形,以牺牲不重要的网格形变为代价,尽可能的保护覆盖重要区域的网格不发生拉伸变形;4)向变形后的网格进行文理映射,插入原始图像内容,进而获得目标结果图像;所述步骤2)具体为:①初始均匀网格划分:对原始图像进行规整的初始矩形网格划分,划分的网格数量为m*n,其中的每一网格都是相同的矩形;②建立自适应初始网格划分问题的最优化模型:目标是让原始图像中重要区域的网格划分的密集,不重要区域网格划分的粗犷;重要区域网格的密集划分在一定程度上能够保证覆盖重要物体边缘的网格内的重要度的一致性,能够减轻网格边缘的拉伸变形设原始网格顶点坐标为(v<sub>i,j,x</sub>,v<sub>i,j,y</sub>),i∈[1,m+1],j∈[1,n+1],其中i,j均为整数;需要求得的自适应网格顶点坐标为(v'<sub>i,j,x</sub>,v'<sub>i,j,y</sub>),i∈[1,m+1],j∈[1,n+1],其中i,j均为整数;建立该问题的最优化模型的目标函数为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>m</mi><mi>i</mi><mi>n</mi><munderover><mo>Σ</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mo>Σ</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><mi>α</mi><mo>+</mo><msub><msup><mi>wf</mi><mi>β</mi></msup><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>·</mo><mi>A</mi><mi>r</mi><mi>e</mi><mi>a</mi><mo>(</mo><mrow><msub><msup><mi>g</mi><mo>′</mo></msup><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><mo>)</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000868650900000021.GIF" wi="1069" he="134" /></maths>公式(1)中,m、n分别为网格的总行数和总列数;wf<sub>ij</sub>为网格g'<sub>ij</sub>的重要度值,即网格g'<sub>ij</sub>内所有像素点重要度的平均值,图像像素点的重要度值根据相对应的saliency图获得;α、β分别权重比例调整参数,本实验我们取α=0.2,β=2;Area(g'<sub>ij</sub>)为矩形网格g'<sub>ij</sub>的面积:Area(g'<sub>ij</sub>)=(v'<sub>i+1,j,x</sub>‑v'<sub>i,j,x</sub>)·(v'<sub>i,j+1,y</sub>‑v'<sub>i,j,y</sub>) (2)公式(2)中,v'<sub>i,j,x</sub>为变形后网格g'<sub>ij</sub>左上顶点的横坐标,v'<sub>i,j,y</sub>为变形后网格g'<sub>ij</sub>左上顶点的纵坐标,v'<sub>i+1,j,x</sub>为变形后网格g'<sub>ij</sub>右上顶点的横坐标,v'<sub>i,j+1,y</sub>为变形后网格g'<sub>ij</sub>左下顶点的纵坐标;我们定义边界约束条件来保证得到的结果图像是矩形,该最优化问题边界约束条件为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><msup><mi>v</mi><mo>,</mo></msup><mrow><mn>0</mn><mo>,</mo><mi>j</mi><mo>,</mo><mi>x</mi></mrow></msub><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><msup><mi>v</mi><mo>,</mo></msup><mrow><mi>T</mi><mi>W</mi><mo>,</mo><mi>j</mi><mo>,</mo><mi>x</mi></mrow></msub><mo>=</mo><mi>T</mi><mi>W</mi></mrow></mtd></mtr><mtr><mtd><mrow><msub><msup><mi>v</mi><mo>,</mo></msup><mrow><mi>i</mi><mo>,</mo><mn>0</mn><mo>,</mo><mi>y</mi></mrow></msub><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><msup><mi>v</mi><mo>,</mo></msup><mrow><mi>i</mi><mo>,</mo><mi>T</mi><mi>H</mi><mo>,</mo><mi>y</mi></mrow></msub><mo>=</mo><mi>T</mi><mi>H</mi></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000868650900000022.GIF" wi="1086" he="357" /></maths>公式(3)中,TW、TH分别为图像的目标宽度和目标高度;③求解该最优化模型:将初始划分网格顶点位置(v<sub>i,j,x</sub>,v<sub>i,j,y</sub>)作为该最优化问题的初始值,求解该最优化问题,获得自适应性划分网格的顶点位置(v'<sub>i,j,x</sub>,v'<sub>i,j,y</sub>),即获得了自适应初始网格划分结果;④找到重要对象轮廓:对原始图像进行Canny边缘提取,找到重要物体的轮廓,并用该轮廓的外接矩形框将其圈出;⑤调整网格线:找到距离矩形框边缘最近的4条网格线,将它们调整到矩形框的4条边缘处,进而获得最后的考虑重要区域边缘的自适应初始网格划分结果。 |