一种基于连分式插值技术的自适应图像修补方法及其系统与流程

文档序号:12674938阅读:来源:国知局

技术特征:

1.一种基于连分式插值技术的自适应图像修补方法,其特征在于,包括以下步骤:

11)初始化图像特征分析,对输入的划痕图像进行分析,判断该划痕图像是灰度图像还是彩色图像;若为彩色图像,则将该彩色图像沿着R、G、B三个颜色通道分别按照灰度图像的方式执行;

12)利用一元连分式插值技术进行划痕图像破损点的修补,通过输入的掩模图来获取对应的划痕图像中的每个待修补点的位置,然后以该划痕图像的信息矩阵为目标逐行检测这些待修补点,针对每个待修补点自适应的选择出周围的已知像素点作为采样点,由这些采样点结合一元连分式有理插值重构出每个待修补点的像素信息,得到初始的修补图像A;

13)利用二元连分式插值技术进行划痕图像的再修补,将初始的修补图像A作为信息图像,由掩模图来确定每一个破损点的位置,由破损点周围的像素信息采用二元连分式插值更新得到每个破损点的像素信息,得到最终的修补图像B。

2.根据权利要求1所述的一种基于连分式插值技术的自适应图像修补方法,其特征在于,所述的利用一元连分式插值技术进行划痕图像破损点的修补包括以下步骤:

21)划痕图像破损点的确定,输入划痕图像的掩模图,将掩模图与划痕图像进行重叠,获取到划痕图像的待修补点;

22)自适应选择插值采样点,读取划痕图像的破损信息矩阵,自适应的选择出离待修补点(x,y)最近的4个已知像素点,将这4个已知像素点构成插值采样点;

23)破损点像素值的计算,由4个已知像素点结合一元连分式插值函数计算出该破损点的像素值,其包括以下步骤:

231)将一元连分式插值格式定义为:

<mrow> <msub> <mi>T</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>+</mo> <mfrac> <mrow> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <msub> <mi>b</mi> <mn>1</mn> </msub> </mfrac> <mo>+</mo> <mfrac> <mrow> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> <msub> <mi>b</mi> <mn>2</mn> </msub> </mfrac> <mo>+</mo> <mn>...</mn> <mo>+</mo> <mfrac> <mrow> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> <msub> <mi>b</mi> <mi>m</mi> </msub> </mfrac> <mo>,</mo> </mrow>

其中,bi=φ[x0,x1,…,xi;y](i=0,…,m)是函数f(x,y)在点x0,x1,…,xi的逆差商,m是输入图像的长度,满足如下:

φ[xi;y]=f(xi;y),i=0,1,2,…,m,

<mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> </mrow> <mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>-</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>l</mi> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>l</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> </mrow> <mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>l</mi> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>-</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>;</mo> </mrow>

232)采用待修补点(x,y)周围的4个已知像素点的信息结合一元连分式插值函数计算出该待修补点的像素值R1(x,y);

<mrow> <msub> <mi>R</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>T</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>+</mo> <mfrac> <mrow> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <msub> <mi>b</mi> <mn>1</mn> </msub> </mfrac> <mo>+</mo> <mfrac> <mrow> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> <msub> <mi>b</mi> <mn>2</mn> </msub> </mfrac> <mo>+</mo> <mfrac> <mrow> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> <msub> <mi>b</mi> <mn>3</mn> </msub> </mfrac> <mo>,</mo> </mrow>

其中,

b0=φ[x0;y]=f(x0;y),

<mrow> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>=</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>-</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>b</mi> <mn>12</mn> </msub> <mo>=</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>-</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>b</mi> <mn>13</mn> </msub> <mo>=</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>-</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>b</mi> <mn>2</mn> </msub> <mo>=</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> <mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>-</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> <mrow> <msub> <mi>b</mi> <mn>12</mn> </msub> <mo>-</mo> <msub> <mi>b</mi> <mn>1</mn> </msub> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>b</mi> <mn>22</mn> </msub> <mo>=</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> <mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>-</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> <mrow> <msub> <mi>b</mi> <mn>13</mn> </msub> <mo>-</mo> <msub> <mi>b</mi> <mn>1</mn> </msub> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>b</mi> <mn>3</mn> </msub> <mo>=</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> <mrow> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> <mo>-</mo> <mi>&phi;</mi> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>;</mo> <mi>y</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> <mrow> <msub> <mi>b</mi> <mn>22</mn> </msub> <mo>-</mo> <msub> <mi>b</mi> <mn>2</mn> </msub> </mrow> </mfrac> <mo>;</mo> </mrow>

上式中f(x0;y),f(x1;y),f(x2;y),f(x3;y)分别为4个已知像素点(x0,y),(x1,y),(x2,y),(x3,y)的像素值,R1(x,y)为计算出来的待修补点(x,y)的像素值;

24)按照从左到右、从上到下的方向顺序检测划痕图像中每一个待修补点,均进行自适应选择插值采样点步骤和破损点像素值的计算步骤,得到初始的修补图像A。

3.根据权利要求1所述的一种基于连分式插值技术的自适应图像修补方法,其特征在于,所述的利用二元连分式插值技术进行划痕图像的再修补包括以下步骤:

31)二元插值采样点的确定,读取初始的修补图像A并将其作为信息矩阵,将掩模图与初始的修补图像A进行重叠,获取到初始的修补图像A的待修补点位置,由待修补点(x,y)周围的16个已知像素信息构成插值像素点;

对待修补点(x,y)搜索找到其周围邻近的16个像素点,根据待修补点的坐标位置,依次选择:

(x-2,y+2)(x-2,y+1)(x-2,y-1)(x-2,y-2)

(x-1,y+2)(x-1,y+1)(x-1,y-1)(x-1,y-2)

(x+1,y+2)(x+1,y+1)(x+1,y-1)(x+1,y-2),

(x+2,y+2)(x+2,y+1)(x+2,y-1)(x+2,y-2)

将以上16个像素点作为二元插值采样点;

32)破损点像素值的更新,由二元插值采样点结合二元连分式插值函数计算出该破损点的像素值,并更新代替原有修补图像A中该点的像素值,其包括以下步骤:

321)将二元连分式插值格式定义为:

<mrow> <msubsup> <mi>R</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>A</mi> <mn>0</mn> </msub> <mrow> <mo>(</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <msub> <mi>A</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>+</mo> <mn>...</mn> <mo>+</mo> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mn>...</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <msub> <mi>A</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

其中,i=0,1,…,m,m、n分别为输入图像的长、宽;

其中,为Newton–Thiele型混合差商;

<mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>&rsqb;</mo> <mo>=</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mo>&ForAll;</mo> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&Element;</mo> <msubsup> <mi>&Pi;</mi> <mrow> <mi>x</mi> <mo>,</mo> <mi>y</mi> </mrow> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> </msubsup> <mo>,</mo> </mrow>

<mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>&rsqb;</mo> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>&rsqb;</mo> </mrow> <mrow> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>&rsqb;</mo> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>&rsqb;</mo> </mrow> <mrow> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>l</mi> </msub> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mi>l</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> </mrow> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>l</mi> </msub> <mo>&rsqb;</mo> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>r</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>y</mi> <mi>s</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>l</mi> </msub> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mi>l</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> </mrow> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>r</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>y</mi> <mi>s</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>l</mi> </msub> <mo>&rsqb;</mo> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msub> <mi>x</mi> <mi>p</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>x</mi> <mi>q</mi> </msub> <mo>;</mo> <msub> <mi>y</mi> <mi>r</mi> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>y</mi> <mi>s</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>;</mo> </mrow>

构造的二元向量有理函数满足:

<mrow> <msubsup> <mi>R</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>m</mi> <mo>;</mo> <mi>j</mi> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>n</mi> <mo>;</mo> </mrow>

322)采用待修补点(x,y)周围的16个像素点作为二元插值采样点,即

结合二元向量有理函数计算得到该待修补点的像素值R2(x,y);

R2(x,y)=B0(y)+2B1(y)+2B2(y)-2B3(y),

其中,x′0=x-2,x′1=x-1,x′2=x+1,x′3=x+2,y′0=y+2,y′1=y+1,y′2=y-1,y′3=y-2,

其中,

φNT[x′0,…,x′i;y′0,…,y′j],i=0,1,2,3,j=0,1,2,3,为Newton–Thiele型混合差商,

x′0=x-2,x′1=x-1,x′2=x+1,x′3=x+2,y′0=y+2,y′1=y+1,y′2=y-1,y′3=y-2,

<mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mo>&prime;</mo> </msubsup> <mo>;</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mo>&prime;</mo> </msubsup> <mo>;</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mo>&prime;</mo> </msubsup> <mo>;</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> </mrow> <mrow> <msubsup> <mi>x</mi> <mi>j</mi> <mo>&prime;</mo> </msubsup> <mo>-</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mo>&prime;</mo> </msubsup> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>x</mi> <mi>q</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mo>&prime;</mo> </msubsup> <mo>;</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>x</mi> <mi>q</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mo>&prime;</mo> </msubsup> <mo>;</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>x</mi> <mi>q</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mo>&prime;</mo> </msubsup> <mo>;</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> </mrow> <mrow> <msubsup> <mi>x</mi> <mi>j</mi> <mo>&prime;</mo> </msubsup> <mo>-</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mo>&prime;</mo> </msubsup> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>x</mi> <mi>q</mi> <mo>&prime;</mo> </msubsup> <mo>;</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>l</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>y</mi> <mi>l</mi> <mo>&prime;</mo> </msubsup> <mo>-</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> </mrow> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>x</mi> <mi>q</mi> <mo>&prime;</mo> </msubsup> <mo>;</mo> <msubsup> <mi>y</mi> <mi>l</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>x</mi> <mi>q</mi> <mo>&prime;</mo> </msubsup> <mo>;</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>,</mo> </mrow>

<mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>x</mi> <mi>q</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>r</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>y</mi> <mi>s</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>l</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>y</mi> <mi>l</mi> <mo>&prime;</mo> </msubsup> <mo>-</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> </mrow> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>x</mi> <mi>q</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>r</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>y</mi> <mi>s</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>l</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </msub> <mo>&lsqb;</mo> <msubsup> <mi>x</mi> <mi>p</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>x</mi> <mi>q</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>r</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>y</mi> <mi>s</mi> <mo>&prime;</mo> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>k</mi> <mo>&prime;</mo> </msubsup> <mo>&rsqb;</mo> </mrow> </mfrac> <mo>,</mo> </mrow>

上式中φNT[x′i;y′j]满足:φNT[x′i;y′j]=f(x′i,y′j),其中f(x′i,y′j),为对应的已知像素点(x′i,y′j)的像素值;

323)将像素值R2(x,y)代替初始的修补图像A中该点的像素值R1(x,y),更新后待修补点(x,y)的像素值为R2(x,y);

33)从按从左到右、从上到下的方向顺序对初始的修补图像A的每一个待修补点均进行二元插值采样点的确定步骤和破损点像素值的更新步骤,得到了最终的修补图像B。

4.根据权利要求2所述的一种基于连分式插值技术的自适应图像修补方法,其特征在于,所述的自适应选择插值采样点包括以下步骤:

41)以划痕图像的破损信息矩阵为目标进行逐行检测;

42)若发现待修补点(x,y),则在待修补点(x,y)同行的两侧由近至远的依次搜索破损点周围邻近的未破损像素点,将搜索到的未破损像素点作为一个采样点;

43)当搜索到未破损的像素点数量达到4个时,停止搜索,在待修补点(x,y)同行的两侧共得到4个有效采样点。

5.根据权利要求1所述的一种基于连分式插值技术的自适应图像修补方法的系统,其特征在于,包括:用于确定输入图像的类型的初始化图像输入模块、用于获得初始的修补图像A的一元连分式插值修补模块和用于获得最终的修补图像B的二元连分式插值再修补模块;

所述的初始化图像输入模块的输出端与一元连分式插值修补模块的输入端相连,一元连分式插值修补模块的输出端与二元连分式插值再修补模块的输入端相连。

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