[数字图像处理]简单的几何学图像变换与图像配准

news/2024/7/21 4:51:56 标签: 数字图像, 图像处理, matlab, 配准

1.图像的几何学变换

       之前的博文里,我简单的介绍了图像的放大与缩小。放大与缩小也算是图像的几何学变换,本文介绍了其他的几何学变换,包括旋转、水平倾斜和垂直倾斜(当然,还有水平移动与垂直移动。这些变换很简单,不需要插值,所以这里就不着重介绍了)。

       假设输入图像为G(u,v),其变换后的图像为F(x,y)。其变化的方法,如下所示。


       图像的几何学变换,主要有两种向前映射与向后映射。

       1.1向前映射

       所谓向前映射,就是从输入图像为g(u,v)的(0,0)点开始,将g(u,v)遍历一遍,依次计算g(u,v)变换后的坐标。当然,计算出来的坐标不会是整数(很大程度上不会是整数),就像下图所示那样。

      借由上图,我们重新理解一些向前映射。假设图像的一部分这5个点,经过变换,我们得到了右边的5个点。其实,这个5个点经过变换之后,计算出来的坐标并不是整数。 假设现在遍历到 这个点(图中以蓝色表示),通过计算得到的点是。我们将的坐标进行四舍五入,将的值赋值给(这种处理相当于选择最近的点,属于最初级的插值方法)。
       使用上述的向前映射的思想,将图像旋转,我们能得到如下效果。

       可以看出来,所得到的结果非常“斑驳”。其原因是,我们将g(u,v)进行变换,计算之后,所得到的坐标四舍五入之后,有的点没有被赋值,而有点被赋值了多次。这就产生了“空穴”,所以让变换后的图像非常斑驳。
       我看了一些文章,基本到这里都会说,“由于向前映射会产生空穴,所以向前映射一般不使用”。诸如此类的话,其实这样理解不太对,产生空穴的根本原因是由于插值法的不恰当所产生的。使用向前映射,也可以不产生“空穴”,所使用的方法如下所示。

       我们可以通过最接近的四个点,去确定的值。这样的话,就可以不产生空穴。但是,这个方法实现起来很困难,所以,向前映射才一般不被使用。

       1.2 向后映射

       向后映射,就是将输出图像f(x,y)遍历一遍,然后计算输出(x,y)的时候,所需要g(x,y)的坐标。当然,这个数不一定是整数。为了方便理解,还是看下图。

       假设,我们遍历到,通过计算,我们得到这样一个点。也就意味着,如果需要确定的灰度值,那么,我们需要点处的灰度值。这样,几何变换的问题又归结到了插值问题。最方便的办法就是选择最近的点,入上图的例子,的灰度值等于的灰度值。当然,还有更加“高级”点的方法,精度也还算可以。的灰度值的确定方法如下所示。

       如上图,我们使用四个点(),去确定的值。首先之间使用线性插值,确定出的值。同样的方法,确定出的值。之间,进行线性插值,就可以得到的值了。(图画的非常清楚了)
       使用向后映射,将图像旋转,我们可以得到如下结果。

       1.3 上述两部分的Matlab代码

<a target=_blank id="L1" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L1" rel="#L1" style="color: rgb(102, 102, 102); text-decoration: none;">  1</a>
<a target=_blank id="L2" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L2" rel="#L2" style="color: rgb(102, 102, 102); text-decoration: none;">  2</a>
<a target=_blank id="L3" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L3" rel="#L3" style="color: rgb(102, 102, 102); text-decoration: none;">  3</a>
<a target=_blank id="L4" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L4" rel="#L4" style="color: rgb(102, 102, 102); text-decoration: none;">  4</a>
<a target=_blank id="L5" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L5" rel="#L5" style="color: rgb(102, 102, 102); text-decoration: none;">  5</a>
<a target=_blank id="L6" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L6" rel="#L6" style="color: rgb(102, 102, 102); text-decoration: none;">  6</a>
<a target=_blank id="L7" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L7" rel="#L7" style="color: rgb(102, 102, 102); text-decoration: none;">  7</a>
<a target=_blank id="L8" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L8" rel="#L8" style="color: rgb(102, 102, 102); text-decoration: none;">  8</a>
<a target=_blank id="L9" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L9" rel="#L9" style="color: rgb(102, 102, 102); text-decoration: none;">  9</a>
<a target=_blank id="L10" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L10" rel="#L10" style="color: rgb(102, 102, 102); text-decoration: none;"> 10</a>
<a target=_blank id="L11" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L11" rel="#L11" style="color: rgb(102, 102, 102); text-decoration: none;"> 11</a>
<a target=_blank id="L12" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L12" rel="#L12" style="color: rgb(102, 102, 102); text-decoration: none;"> 12</a>
<a target=_blank id="L13" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L13" rel="#L13" style="color: rgb(102, 102, 102); text-decoration: none;"> 13</a>
<a target=_blank id="L14" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L14" rel="#L14" style="color: rgb(102, 102, 102); text-decoration: none;"> 14</a>
<a target=_blank id="L15" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L15" rel="#L15" style="color: rgb(102, 102, 102); text-decoration: none;"> 15</a>
<a target=_blank id="L16" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L16" rel="#L16" style="color: rgb(102, 102, 102); text-decoration: none;"> 16</a>
<a target=_blank id="L17" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L17" rel="#L17" style="color: rgb(102, 102, 102); text-decoration: none;"> 17</a>
<a target=_blank id="L18" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L18" rel="#L18" style="color: rgb(102, 102, 102); text-decoration: none;"> 18</a>
<a target=_blank id="L19" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L19" rel="#L19" style="color: rgb(102, 102, 102); text-decoration: none;"> 19</a>
<a target=_blank id="L20" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L20" rel="#L20" style="color: rgb(102, 102, 102); text-decoration: none;"> 20</a>
<a target=_blank id="L21" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L21" rel="#L21" style="color: rgb(102, 102, 102); text-decoration: none;"> 21</a>
<a target=_blank id="L22" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L22" rel="#L22" style="color: rgb(102, 102, 102); text-decoration: none;"> 22</a>
<a target=_blank id="L23" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L23" rel="#L23" style="color: rgb(102, 102, 102); text-decoration: none;"> 23</a>
<a target=_blank id="L24" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L24" rel="#L24" style="color: rgb(102, 102, 102); text-decoration: none;"> 24</a>
<a target=_blank id="L25" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L25" rel="#L25" style="color: rgb(102, 102, 102); text-decoration: none;"> 25</a>
<a target=_blank id="L26" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L26" rel="#L26" style="color: rgb(102, 102, 102); text-decoration: none;"> 26</a>
<a target=_blank id="L27" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L27" rel="#L27" style="color: rgb(102, 102, 102); text-decoration: none;"> 27</a>
<a target=_blank id="L28" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L28" rel="#L28" style="color: rgb(102, 102, 102); text-decoration: none;"> 28</a>
<a target=_blank id="L29" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L29" rel="#L29" style="color: rgb(102, 102, 102); text-decoration: none;"> 29</a>
<a target=_blank id="L30" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L30" rel="#L30" style="color: rgb(102, 102, 102); text-decoration: none;"> 30</a>
<a target=_blank id="L31" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L31" rel="#L31" style="color: rgb(102, 102, 102); text-decoration: none;"> 31</a>
<a target=_blank id="L32" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L32" rel="#L32" style="color: rgb(102, 102, 102); text-decoration: none;"> 32</a>
<a target=_blank id="L33" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L33" rel="#L33" style="color: rgb(102, 102, 102); text-decoration: none;"> 33</a>
<a target=_blank id="L34" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L34" rel="#L34" style="color: rgb(102, 102, 102); text-decoration: none;"> 34</a>
<a target=_blank id="L35" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L35" rel="#L35" style="color: rgb(102, 102, 102); text-decoration: none;"> 35</a>
<a target=_blank id="L36" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L36" rel="#L36" style="color: rgb(102, 102, 102); text-decoration: none;"> 36</a>
<a target=_blank id="L37" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L37" rel="#L37" style="color: rgb(102, 102, 102); text-decoration: none;"> 37</a>
<a target=_blank id="L38" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L38" rel="#L38" style="color: rgb(102, 102, 102); text-decoration: none;"> 38</a>
<a target=_blank id="L39" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L39" rel="#L39" style="color: rgb(102, 102, 102); text-decoration: none;"> 39</a>
<a target=_blank id="L40" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L40" rel="#L40" style="color: rgb(102, 102, 102); text-decoration: none;"> 40</a>
<a target=_blank id="L41" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L41" rel="#L41" style="color: rgb(102, 102, 102); text-decoration: none;"> 41</a>
<a target=_blank id="L42" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L42" rel="#L42" style="color: rgb(102, 102, 102); text-decoration: none;"> 42</a>
<a target=_blank id="L43" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L43" rel="#L43" style="color: rgb(102, 102, 102); text-decoration: none;"> 43</a>
<a target=_blank id="L44" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L44" rel="#L44" style="color: rgb(102, 102, 102); text-decoration: none;"> 44</a>
<a target=_blank id="L45" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L45" rel="#L45" style="color: rgb(102, 102, 102); text-decoration: none;"> 45</a>
<a target=_blank id="L46" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L46" rel="#L46" style="color: rgb(102, 102, 102); text-decoration: none;"> 46</a>
<a target=_blank id="L47" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L47" rel="#L47" style="color: rgb(102, 102, 102); text-decoration: none;"> 47</a>
<a target=_blank id="L48" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L48" rel="#L48" style="color: rgb(102, 102, 102); text-decoration: none;"> 48</a>
<a target=_blank id="L49" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L49" rel="#L49" style="color: rgb(102, 102, 102); text-decoration: none;"> 49</a>
<a target=_blank id="L50" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L50" rel="#L50" style="color: rgb(102, 102, 102); text-decoration: none;"> 50</a>
<a target=_blank id="L51" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L51" rel="#L51" style="color: rgb(102, 102, 102); text-decoration: none;"> 51</a>
<a target=_blank id="L52" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L52" rel="#L52" style="color: rgb(102, 102, 102); text-decoration: none;"> 52</a>
<a target=_blank id="L53" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L53" rel="#L53" style="color: rgb(102, 102, 102); text-decoration: none;"> 53</a>
<a target=_blank id="L54" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L54" rel="#L54" style="color: rgb(102, 102, 102); text-decoration: none;"> 54</a>
<a target=_blank id="L55" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L55" rel="#L55" style="color: rgb(102, 102, 102); text-decoration: none;"> 55</a>
<a target=_blank id="L56" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L56" rel="#L56" style="color: rgb(102, 102, 102); text-decoration: none;"> 56</a>
<a target=_blank id="L57" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L57" rel="#L57" style="color: rgb(102, 102, 102); text-decoration: none;"> 57</a>
<a target=_blank id="L58" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L58" rel="#L58" style="color: rgb(102, 102, 102); text-decoration: none;"> 58</a>
<a target=_blank id="L59" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L59" rel="#L59" style="color: rgb(102, 102, 102); text-decoration: none;"> 59</a>
<a target=_blank id="L60" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L60" rel="#L60" style="color: rgb(102, 102, 102); text-decoration: none;"> 60</a>
<a target=_blank id="L61" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L61" rel="#L61" style="color: rgb(102, 102, 102); text-decoration: none;"> 61</a>
<a target=_blank id="L62" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L62" rel="#L62" style="color: rgb(102, 102, 102); text-decoration: none;"> 62</a>
<a target=_blank id="L63" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L63" rel="#L63" style="color: rgb(102, 102, 102); text-decoration: none;"> 63</a>
<a target=_blank id="L64" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L64" rel="#L64" style="color: rgb(102, 102, 102); text-decoration: none;"> 64</a>
            
close all ;
clear all ;
clc ;
%% -----------Geometric_spatial_transform------------------
f = imread ( './letter_T.tif' );
f = mat2gray ( f ,[ 0 255 ]);
[ M , N ] = size ( f );
%-----by forward mapping-----%
g_fm = zeros ( M , N );
seta = - pi / 8 ;
for v = ( - M / 2 ): 1 :( M / 2 ) - 1
for w = ( - N / 2 ): 1 :( N / 2 ) - 1
x = round ( v * cos ( seta ) - w * sin ( seta ));
y = round ( v * sin ( seta ) + w * cos ( seta ));
if ((( y > =( - N / 2 )) && ( y < =( N / 2 ))) && (( x > =( - M / 2 )) && ( x < =( M / 2 ))))
g_fm ( x + ( M / 2 ) + 1 , y + ( N / 2 ) + 1 ) = f ( v + ( M / 2 ) + 1 , w + ( N / 2 ) + 1 );
end
end
end
figure ();
subplot ( 1 , 2 , 1 );
imshow ( f ,[ 0 1 ]);
xlabel ( 'a).Original Image' );
subplot ( 1 , 2 , 2 );
imshow ( g_fm ,[ 0 1 ]);
xlabel ( 'b).Ruselt of Geometric spatial transform' );
%-----by inverse mapping----
g_im = zeros ( M , N );
seta = - pi / 8 ;
for x = ( - M / 2 ): 1 :( M / 2 ) - 1
for y = ( - N / 2 ): 1 :( N / 2 ) - 1
v = x * cos ( - seta ) - y * sin ( - seta );
w = x * sin ( - seta ) + y * cos ( - seta );
if ((( w > =( - N / 2 ) + 1 ) && ( w < =( N / 2 ) - 1 )) && (( v > =( - M / 2 ) + 1 ) && ( v < =( M / 2 ) - 1 )))
%g_im(x+(M/2)+1,y+(N/2)+1) = 1;%f(round(v+(M/2)+1),round(w+(N/2)+1));
Q_11 = f ( floor ( v ) + ( M / 2 ) + 1 , floor ( w ) + ( N / 2 ) + 1 );
Q_21 = f ( floor ( v ) + ( M / 2 ) + 1 , ceil ( w ) + ( N / 2 ) + 1 );
Q_12 = f ( ceil ( v ) + ( M / 2 ) + 1 , floor ( w ) + ( N / 2 ) + 1 );
Q_22 = f ( ceil ( v ) + ( M / 2 ) + 1 , ceil ( w ) + ( N / 2 ) + 1 );
R1 = ( Q_21 - Q_11 ) * ( w - floor ( w )) + Q_11 ;
R2 = ( Q_22 - Q_12 ) * ( w - floor ( w )) + Q_12 ;
g_im ( x + ( M / 2 ) + 1 , y + ( N / 2 ) + 1 ) = ( R2 - R1 ) * ( v - floor ( v )) + R1 ;
end
end
end
figure ();
subplot ( 1 , 2 , 1 );
imshow ( f ,[ 0 1 ]);
xlabel ( 'a).Original Image' );
subplot ( 1 , 2 , 2 );
imshow ( g_im ,[ 0 1 ]);
xlabel ( 'b).Ruselt of Geometric spatial transform' );
 来自CODE的代码片
Geometric_spatial_transform.m

      2.图像的配准

      图像的配准,常常用于超解析领域。当然了,作为基础学习,博主没学那么深。这次的图像配准,试图去还原被倾斜变换的图像。首先,先将图像进行两个方向的倾斜。

       我们这次的目的是,将图像b).还原为a).。这次变换相对简单,我们使用如下模型去拟合变换关系。

我们在原图与变换后的图像上,选择出四个标准点,然后带入方程,并求出系数。使用这个方程,将图像b).还原为a)。这个过程比较简单,下面是结果。另外,所选择的标准点,我已经在上图中用红圈标定出来了。

       可以看到,还原的效果非常的好(额,其实这也是应为畸变比较简单的缘故)。为了看出于原图的区别,我们做出了差分图像。可以看出来,还原不是完美的。
       至此,上个代码作为本文的结尾。额,由于特征点的选择是手工的,这个代码可能没有多少意义。(不要吐槽最后这一句话。一般的,在使用特征点做图象配准的时候,一般选择在某个实际的物体上放入某个实际的标志,然后通过检测这个实际的标志,去进行变换。【这里可以参考《Digital Image Processing》 Rafael C. Gonzalez / Richard E. Woods的第二章的相关内容,这里有叙述的!!】)
<a target=_blank id="L1" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L1" rel="#L1" style="color: rgb(102, 102, 102); text-decoration: none;">   1</a>
<a target=_blank id="L2" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L2" rel="#L2" style="color: rgb(102, 102, 102); text-decoration: none;">   2</a>
<a target=_blank id="L3" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L3" rel="#L3" style="color: rgb(102, 102, 102); text-decoration: none;">   3</a>
<a target=_blank id="L4" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L4" rel="#L4" style="color: rgb(102, 102, 102); text-decoration: none;">   4</a>
<a target=_blank id="L5" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L5" rel="#L5" style="color: rgb(102, 102, 102); text-decoration: none;">   5</a>
<a target=_blank id="L6" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L6" rel="#L6" style="color: rgb(102, 102, 102); text-decoration: none;">   6</a>
<a target=_blank id="L7" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L7" rel="#L7" style="color: rgb(102, 102, 102); text-decoration: none;">   7</a>
<a target=_blank id="L8" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L8" rel="#L8" style="color: rgb(102, 102, 102); text-decoration: none;">   8</a>
<a target=_blank id="L9" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L9" rel="#L9" style="color: rgb(102, 102, 102); text-decoration: none;">   9</a>
<a target=_blank id="L10" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L10" rel="#L10" style="color: rgb(102, 102, 102); text-decoration: none;">  10</a>
<a target=_blank id="L11" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L11" rel="#L11" style="color: rgb(102, 102, 102); text-decoration: none;">  11</a>
<a target=_blank id="L12" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L12" rel="#L12" style="color: rgb(102, 102, 102); text-decoration: none;">  12</a>
<a target=_blank id="L13" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L13" rel="#L13" style="color: rgb(102, 102, 102); text-decoration: none;">  13</a>
<a target=_blank id="L14" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L14" rel="#L14" style="color: rgb(102, 102, 102); text-decoration: none;">  14</a>
<a target=_blank id="L15" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L15" rel="#L15" style="color: rgb(102, 102, 102); text-decoration: none;">  15</a>
<a target=_blank id="L16" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L16" rel="#L16" style="color: rgb(102, 102, 102); text-decoration: none;">  16</a>
<a target=_blank id="L17" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L17" rel="#L17" style="color: rgb(102, 102, 102); text-decoration: none;">  17</a>
<a target=_blank id="L18" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L18" rel="#L18" style="color: rgb(102, 102, 102); text-decoration: none;">  18</a>
<a target=_blank id="L19" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L19" rel="#L19" style="color: rgb(102, 102, 102); text-decoration: none;">  19</a>
<a target=_blank id="L20" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L20" rel="#L20" style="color: rgb(102, 102, 102); text-decoration: none;">  20</a>
<a target=_blank id="L21" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L21" rel="#L21" style="color: rgb(102, 102, 102); text-decoration: none;">  21</a>
<a target=_blank id="L22" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L22" rel="#L22" style="color: rgb(102, 102, 102); text-decoration: none;">  22</a>
<a target=_blank id="L23" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L23" rel="#L23" style="color: rgb(102, 102, 102); text-decoration: none;">  23</a>
<a target=_blank id="L24" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L24" rel="#L24" style="color: rgb(102, 102, 102); text-decoration: none;">  24</a>
<a target=_blank id="L25" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L25" rel="#L25" style="color: rgb(102, 102, 102); text-decoration: none;">  25</a>
<a target=_blank id="L26" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L26" rel="#L26" style="color: rgb(102, 102, 102); text-decoration: none;">  26</a>
<a target=_blank id="L27" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L27" rel="#L27" style="color: rgb(102, 102, 102); text-decoration: none;">  27</a>
<a target=_blank id="L28" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L28" rel="#L28" style="color: rgb(102, 102, 102); text-decoration: none;">  28</a>
<a target=_blank id="L29" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L29" rel="#L29" style="color: rgb(102, 102, 102); text-decoration: none;">  29</a>
<a target=_blank id="L30" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L30" rel="#L30" style="color: rgb(102, 102, 102); text-decoration: none;">  30</a>
<a target=_blank id="L31" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L31" rel="#L31" style="color: rgb(102, 102, 102); text-decoration: none;">  31</a>
<a target=_blank id="L32" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L32" rel="#L32" style="color: rgb(102, 102, 102); text-decoration: none;">  32</a>
<a target=_blank id="L33" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L33" rel="#L33" style="color: rgb(102, 102, 102); text-decoration: none;">  33</a>
<a target=_blank id="L34" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L34" rel="#L34" style="color: rgb(102, 102, 102); text-decoration: none;">  34</a>
<a target=_blank id="L35" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L35" rel="#L35" style="color: rgb(102, 102, 102); text-decoration: none;">  35</a>
<a target=_blank id="L36" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L36" rel="#L36" style="color: rgb(102, 102, 102); text-decoration: none;">  36</a>
<a target=_blank id="L37" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L37" rel="#L37" style="color: rgb(102, 102, 102); text-decoration: none;">  37</a>
<a target=_blank id="L38" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L38" rel="#L38" style="color: rgb(102, 102, 102); text-decoration: none;">  38</a>
<a target=_blank id="L39" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L39" rel="#L39" style="color: rgb(102, 102, 102); text-decoration: none;">  39</a>
<a target=_blank id="L40" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L40" rel="#L40" style="color: rgb(102, 102, 102); text-decoration: none;">  40</a>
<a target=_blank id="L41" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L41" rel="#L41" style="color: rgb(102, 102, 102); text-decoration: none;">  41</a>
<a target=_blank id="L42" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L42" rel="#L42" style="color: rgb(102, 102, 102); text-decoration: none;">  42</a>
<a target=_blank id="L43" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L43" rel="#L43" style="color: rgb(102, 102, 102); text-decoration: none;">  43</a>
<a target=_blank id="L44" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L44" rel="#L44" style="color: rgb(102, 102, 102); text-decoration: none;">  44</a>
<a target=_blank id="L45" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L45" rel="#L45" style="color: rgb(102, 102, 102); text-decoration: none;">  45</a>
<a target=_blank id="L46" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L46" rel="#L46" style="color: rgb(102, 102, 102); text-decoration: none;">  46</a>
<a target=_blank id="L47" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L47" rel="#L47" style="color: rgb(102, 102, 102); text-decoration: none;">  47</a>
<a target=_blank id="L48" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L48" rel="#L48" style="color: rgb(102, 102, 102); text-decoration: none;">  48</a>
<a target=_blank id="L49" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L49" rel="#L49" style="color: rgb(102, 102, 102); text-decoration: none;">  49</a>
<a target=_blank id="L50" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L50" rel="#L50" style="color: rgb(102, 102, 102); text-decoration: none;">  50</a>
<a target=_blank id="L51" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L51" rel="#L51" style="color: rgb(102, 102, 102); text-decoration: none;">  51</a>
<a target=_blank id="L52" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L52" rel="#L52" style="color: rgb(102, 102, 102); text-decoration: none;">  52</a>
<a target=_blank id="L53" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L53" rel="#L53" style="color: rgb(102, 102, 102); text-decoration: none;">  53</a>
<a target=_blank id="L54" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L54" rel="#L54" style="color: rgb(102, 102, 102); text-decoration: none;">  54</a>
<a target=_blank id="L55" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L55" rel="#L55" style="color: rgb(102, 102, 102); text-decoration: none;">  55</a>
<a target=_blank id="L56" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L56" rel="#L56" style="color: rgb(102, 102, 102); text-decoration: none;">  56</a>
<a target=_blank id="L57" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L57" rel="#L57" style="color: rgb(102, 102, 102); text-decoration: none;">  57</a>
<a target=_blank id="L58" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L58" rel="#L58" style="color: rgb(102, 102, 102); text-decoration: none;">  58</a>
<a target=_blank id="L59" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L59" rel="#L59" style="color: rgb(102, 102, 102); text-decoration: none;">  59</a>
<a target=_blank id="L60" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L60" rel="#L60" style="color: rgb(102, 102, 102); text-decoration: none;">  60</a>
<a target=_blank id="L61" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L61" rel="#L61" style="color: rgb(102, 102, 102); text-decoration: none;">  61</a>
<a target=_blank id="L62" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L62" rel="#L62" style="color: rgb(102, 102, 102); text-decoration: none;">  62</a>
<a target=_blank id="L63" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L63" rel="#L63" style="color: rgb(102, 102, 102); text-decoration: none;">  63</a>
<a target=_blank id="L64" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L64" rel="#L64" style="color: rgb(102, 102, 102); text-decoration: none;">  64</a>
<a target=_blank id="L65" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L65" rel="#L65" style="color: rgb(102, 102, 102); text-decoration: none;">  65</a>
<a target=_blank id="L66" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L66" rel="#L66" style="color: rgb(102, 102, 102); text-decoration: none;">  66</a>
<a target=_blank id="L67" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L67" rel="#L67" style="color: rgb(102, 102, 102); text-decoration: none;">  67</a>
<a target=_blank id="L68" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L68" rel="#L68" style="color: rgb(102, 102, 102); text-decoration: none;">  68</a>
<a target=_blank id="L69" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L69" rel="#L69" style="color: rgb(102, 102, 102); text-decoration: none;">  69</a>
<a target=_blank id="L70" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L70" rel="#L70" style="color: rgb(102, 102, 102); text-decoration: none;">  70</a>
<a target=_blank id="L71" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L71" rel="#L71" style="color: rgb(102, 102, 102); text-decoration: none;">  71</a>
<a target=_blank id="L72" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L72" rel="#L72" style="color: rgb(102, 102, 102); text-decoration: none;">  72</a>
<a target=_blank id="L73" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L73" rel="#L73" style="color: rgb(102, 102, 102); text-decoration: none;">  73</a>
<a target=_blank id="L74" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L74" rel="#L74" style="color: rgb(102, 102, 102); text-decoration: none;">  74</a>
<a target=_blank id="L75" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L75" rel="#L75" style="color: rgb(102, 102, 102); text-decoration: none;">  75</a>
<a target=_blank id="L76" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L76" rel="#L76" style="color: rgb(102, 102, 102); text-decoration: none;">  76</a>
<a target=_blank id="L77" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L77" rel="#L77" style="color: rgb(102, 102, 102); text-decoration: none;">  77</a>
<a target=_blank id="L78" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L78" rel="#L78" style="color: rgb(102, 102, 102); text-decoration: none;">  78</a>
<a target=_blank id="L79" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L79" rel="#L79" style="color: rgb(102, 102, 102); text-decoration: none;">  79</a>
<a target=_blank id="L80" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L80" rel="#L80" style="color: rgb(102, 102, 102); text-decoration: none;">  80</a>
<a target=_blank id="L81" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L81" rel="#L81" style="color: rgb(102, 102, 102); text-decoration: none;">  81</a>
<a target=_blank id="L82" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L82" rel="#L82" style="color: rgb(102, 102, 102); text-decoration: none;">  82</a>
<a target=_blank id="L83" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L83" rel="#L83" style="color: rgb(102, 102, 102); text-decoration: none;">  83</a>
<a target=_blank id="L84" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L84" rel="#L84" style="color: rgb(102, 102, 102); text-decoration: none;">  84</a>
<a target=_blank id="L85" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L85" rel="#L85" style="color: rgb(102, 102, 102); text-decoration: none;">  85</a>
<a target=_blank id="L86" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L86" rel="#L86" style="color: rgb(102, 102, 102); text-decoration: none;">  86</a>
<a target=_blank id="L87" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L87" rel="#L87" style="color: rgb(102, 102, 102); text-decoration: none;">  87</a>
<a target=_blank id="L88" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L88" rel="#L88" style="color: rgb(102, 102, 102); text-decoration: none;">  88</a>
<a target=_blank id="L89" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L89" rel="#L89" style="color: rgb(102, 102, 102); text-decoration: none;">  89</a>
<a target=_blank id="L90" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L90" rel="#L90" style="color: rgb(102, 102, 102); text-decoration: none;">  90</a>
<a target=_blank id="L91" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L91" rel="#L91" style="color: rgb(102, 102, 102); text-decoration: none;">  91</a>
<a target=_blank id="L92" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L92" rel="#L92" style="color: rgb(102, 102, 102); text-decoration: none;">  92</a>
<a target=_blank id="L93" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L93" rel="#L93" style="color: rgb(102, 102, 102); text-decoration: none;">  93</a>
<a target=_blank id="L94" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L94" rel="#L94" style="color: rgb(102, 102, 102); text-decoration: none;">  94</a>
<a target=_blank id="L95" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L95" rel="#L95" style="color: rgb(102, 102, 102); text-decoration: none;">  95</a>
<a target=_blank id="L96" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L96" rel="#L96" style="color: rgb(102, 102, 102); text-decoration: none;">  96</a>
<a target=_blank id="L97" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L97" rel="#L97" style="color: rgb(102, 102, 102); text-decoration: none;">  97</a>
<a target=_blank id="L98" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L98" rel="#L98" style="color: rgb(102, 102, 102); text-decoration: none;">  98</a>
<a target=_blank id="L99" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L99" rel="#L99" style="color: rgb(102, 102, 102); text-decoration: none;">  99</a>
<a target=_blank id="L100" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L100" rel="#L100" style="color: rgb(102, 102, 102); text-decoration: none;"> 100</a>
<a target=_blank id="L101" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L101" rel="#L101" style="color: rgb(102, 102, 102); text-decoration: none;"> 101</a>
<a target=_blank id="L102" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L102" rel="#L102" style="color: rgb(102, 102, 102); text-decoration: none;"> 102</a>
<a target=_blank id="L103" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L103" rel="#L103" style="color: rgb(102, 102, 102); text-decoration: none;"> 103</a>
<a target=_blank id="L104" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L104" rel="#L104" style="color: rgb(102, 102, 102); text-decoration: none;"> 104</a>
<a target=_blank id="L105" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L105" rel="#L105" style="color: rgb(102, 102, 102); text-decoration: none;"> 105</a>
<a target=_blank id="L106" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L106" rel="#L106" style="color: rgb(102, 102, 102); text-decoration: none;"> 106</a>
<a target=_blank id="L107" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L107" rel="#L107" style="color: rgb(102, 102, 102); text-decoration: none;"> 107</a>
<a target=_blank id="L108" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L108" rel="#L108" style="color: rgb(102, 102, 102); text-decoration: none;"> 108</a>
<a target=_blank id="L109" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L109" rel="#L109" style="color: rgb(102, 102, 102); text-decoration: none;"> 109</a>
<a target=_blank id="L110" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L110" rel="#L110" style="color: rgb(102, 102, 102); text-decoration: none;"> 110</a>
<a target=_blank id="L111" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L111" rel="#L111" style="color: rgb(102, 102, 102); text-decoration: none;"> 111</a>
<a target=_blank id="L112" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L112" rel="#L112" style="color: rgb(102, 102, 102); text-decoration: none;"> 112</a>
<a target=_blank id="L113" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L113" rel="#L113" style="color: rgb(102, 102, 102); text-decoration: none;"> 113</a>
<a target=_blank id="L114" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L114" rel="#L114" style="color: rgb(102, 102, 102); text-decoration: none;"> 114</a>
<a target=_blank id="L115" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L115" rel="#L115" style="color: rgb(102, 102, 102); text-decoration: none;"> 115</a>
<a target=_blank id="L116" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L116" rel="#L116" style="color: rgb(102, 102, 102); text-decoration: none;"> 116</a>
<a target=_blank id="L117" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L117" rel="#L117" style="color: rgb(102, 102, 102); text-decoration: none;"> 117</a>
<a target=_blank id="L118" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L118" rel="#L118" style="color: rgb(102, 102, 102); text-decoration: none;"> 118</a>
<a target=_blank id="L119" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L119" rel="#L119" style="color: rgb(102, 102, 102); text-decoration: none;"> 119</a>
<a target=_blank id="L120" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L120" rel="#L120" style="color: rgb(102, 102, 102); text-decoration: none;"> 120</a>
<a target=_blank id="L121" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L121" rel="#L121" style="color: rgb(102, 102, 102); text-decoration: none;"> 121</a>
<a target=_blank id="L122" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L122" rel="#L122" style="color: rgb(102, 102, 102); text-decoration: none;"> 122</a>
<a target=_blank id="L123" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L123" rel="#L123" style="color: rgb(102, 102, 102); text-decoration: none;"> 123</a>
<a target=_blank id="L124" href="http://blog.csdn.net/zhoufan900428/article/details/17203639#L124" rel="#L124" style="color: rgb(102, 102, 102); text-decoration: none;"> 124</a>
            
close all;
clear all;
clc;
%% --------------image registration---------------------------
f_Original = imread('./characters_test_pattern.tif');
f_Original = mat2gray(f_Original,[0 255]);
[M,N] = size(f_Original);
f = zeros(M+4,N+4);
for x = 1:M
f(x+2,:) = [0 0 f_Original(x,:) 0 0];
end
[M,N] = size(f);
s_v = 0.3;
s_w = 0.02;
P = round(M+s_v*N);
Q = round(N+s_w*M);
g_1 = zeros(P,N);
for x = (-P/2):1:(P/2)-1
for y = (-N/2):1:(N/2)-1
v = x - s_v * y;
w = y;
if (((w>=(-N/2))&&(w<=(N/2)-1))&&((v>=(-M/2))&&(v<=(M/2)-1)))
Q_11 = f(floor(v)+(M/2)+1,floor(w)+(N/2)+1);
Q_21 = f(floor(v)+(M/2)+1,ceil(w)+(N/2)+1);
Q_12 = f(ceil(v)+(M/2)+1,floor(w)+(N/2)+1);
Q_22 = f(ceil(v)+(M/2)+1,ceil(w)+(N/2)+1);
R1 = (Q_21 - Q_11)*(w-floor(w)) + Q_11;
R2 = (Q_22 - Q_12)*(w-floor(w)) + Q_12;
g_1(x+(P/2)+1,y+(N/2)+1) = (R2-R1)*(v-floor(v)) + R1;
end
end
end
g = zeros(P,Q);
for x = (-P/2):1:(P/2)-1
for y = (-Q/2):1:(Q/2)-1
v = x;
w = y - s_w * x;
if (((w>=(-N/2))&&(w<=(N/2)-1))&&((v>=(-P/2))&&(v<=(P/2)-1)))
Q_11 = g_1(floor(v)+(P/2)+1,floor(w)+(N/2)+1);
Q_21 = g_1(floor(v)+(P/2)+1,ceil(w)+(N/2)+1);
Q_12 = g_1(ceil(v)+(P/2)+1,floor(w)+(N/2)+1);
Q_22 = g_1(ceil(v)+(P/2)+1,ceil(w)+(N/2)+1);
R1 = (Q_21 - Q_11)*(w-floor(w)) + Q_11;
R2 = (Q_22 - Q_12)*(w-floor(w)) + Q_12;
g(x+(P/2)+1,y+(Q/2)+1) = (R2-R1)*(v-floor(v)) + R1;
end
end
end
figure();
subplot(1,2,1);
imshow(f,[0 1]);
xlabel('a).Original Image');
hold on;
plot(621, 78,'ro','MarkerSize',7);
plot(116,113,'ro','MarkerSize',7);
plot( 85,649,'ro','MarkerSize',7);
plot(624,641,'ro','MarkerSize',7);
subplot(1,2,2);
imshow(g,[0 1]);
xlabel('b).Ruselt of Geometric spatial transform');
hold on;
plot(625,264,'ro','MarkerSize',7);
plot(116,147,'ro','MarkerSize',7);
plot( 96,674,'ro','MarkerSize',7);
plot(638,828,'ro','MarkerSize',7);
%%
f_reg = zeros(M,N);
Original = [621-(N/2) 78-(M/2) (621-(N/2))*(78-(M/2)) 1;
116-(N/2) 113-(M/2) (116-(N/2))*(113-(M/2)) 1;
85-(N/2) 649-(M/2) (85-(N/2))*(649-(M/2)) 1;
624-(N/2) 641-(M/2) (624-(N/2))*(641-(M/2)) 1];
Ruselt = [625-(Q/2);116-(Q/2);96-(Q/2);638-(Q/2)];
c = (Original)\Ruselt; %C1~C4
Ruselt = [264-(P/2);147-(P/2);674-(P/2);828-(P/2)];
c = [c (Original)\Ruselt]; %C5~C8 wwwwww
for y = (-M/2):1:(M/2)-1
for x = (-N/2):1:(N/2)-1
w = c(1,1)*y + c(2,1)*x + c(3,1)*x*y + c(4,1);
v = c(1,2)*y + c(2,2)*x + c(3,2)*x*y + c(4,2);
if (((w>=(-Q/2))&&(w<=(Q/2)-1))&&((v>=(-P/2))&&(v<=(P/2)-1)))
Q_11 = g(floor(v)+(P/2)+1,floor(w)+(Q/2)+1);
Q_21 = g(floor(v)+(P/2)+1,ceil(w)+(Q/2)+1);
Q_12 = g(ceil(v)+(P/2)+1,floor(w)+(Q/2)+1);
Q_22 = g(ceil(v)+(P/2)+1,ceil(w)+(Q/2)+1);
R1 = (Q_21 - Q_11)*(w-floor(w)) + Q_11;
R2 = (Q_22 - Q_12)*(w-floor(w)) + Q_12;
f_reg(x+(N/2)+1,y+(M/2)+1) = (R2-R1)*(v-floor(v)) + R1;
%g(round(v+(P/2)+1),round(w+(Q/2)+1)) = 0.5;
end
end
end
g_diff = abs(f - f_reg);
figure();
subplot(1,2,1);
imshow(f_reg,[0 1]);
xlabel('c).Ruselt of image registration');
subplot(1,2,2);
imshow(g_diff,[0 1]);
xlabel('d).Difference image');
 来自CODE的代码片
image_registration.m
      原文发于博客:http://blog.csdn.net/thnh169/ 

http://www.niftyadmin.cn/n/1775706.html

相关文章

grep用法详解

1&#xff0c;grep用法 grep [ option ] pattern file ....[ option ]这种写法表示grep选项可以不写&#xff0c;看自己的需求。pattern是一种模式&#xff0c;简单点就是正则表达式的元字符组成。正则表达式的有种&#xff0c;基本正则表达和扩展正则表达式&#xff0c;这里元…

文本基本处理

一. 1.1.1正向最大匹配算法 从左到右将待分词文本中的几个连续字符与词表匹配&#xff0c;如果匹配上&#xff0c;则切分出一个词。但这里有一个问题&#xff1a;要做到最大匹配&#xff0c;并不是第一次匹配到就可以切分的 。我们来举个例子&#xff1a; 待分词文本&#x…

RedHat系统常用的日志文件详解三

last命令 last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。例如&#xff1a;* E, d1 H. N, z, ]) M n }3 i) |QUOTE:) b# f4 d. B* gchyang pts/9 202.38.68.242 Tue Aug 1 08:34 - 11:23 (02:49) 5 R ]: Q) B( F Z( icfan pts/6 202.38.64.224 Tue Aug 1 08:3…

Noise Reduction Using a Median Filter(噪声去除的中值滤波方法)

摘 要&#xff1a;本实验主要实现图像的加噪和去噪。模拟数字图像的噪声主要由于噪声广泛存在于图像的产生和传输过程。图像传感器的工作情况受各种因素的影响&#xff0c;如图像的获取中的环境条件和传感器自身的质量。图像在传输过程中主要由于所用的传输信道的干扰而受到…

皮尔森相关系数

作用 如衡量国民收入和居民储蓄存款、身高和体重、高中成绩和高考成绩等变量间的线性相关关系。 当两个变量都是正态连续变量&#xff0c;而且两者之间呈线性关系时&#xff0c;表现这两个变量之间相关程度用积差相关系数&#xff0c;主要有Pearson简单相关系数。 表现强度 …

Vmware中如何让本地和虚拟机可以通过复制和粘贴操作

默认情况下&#xff0c;Vmware vSphere已禁用针对ESXESXi的复制和粘贴操作&#xff0c;以防止公开已复制到剪贴板中的敏感数据。其实可以通过设置启用它&#xff0c;具体操作如下&#xff1a; 1、使用 vSphere Client 登录到 vCenter Server 系统并选择虚拟机&#xff0c;虚拟…

617. 合并二叉树(python)

给定两个二叉树&#xff0c;想象当你将它们中的一个覆盖到另一个上时&#xff0c;两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠&#xff0c;那么将他们的值相加作为节点合并后的新值&#xff0c;否则不为 NULL 的节点将直…

遗传算法的优缺点

遗传算法的优缺点 遗传算法属于进化算法( Evolutionary Algorithms) 的一种,它通过模仿自然界的选择与遗传的机理来寻找最优解. 遗传算法有三个基本算子:选择、交叉和变异. 。数值方法求解这一问题的主要手段是迭代运算。一般的迭代方法容易陷入局部极小的陷阱而出现"死循…