关于寻找shape特征(feature)的方法总结

计算机视觉中,目前有哪些成熟的匹配定位算法

这个链接涉及到模板匹配的实际问题, 高票答主提到的ESM, 结构特征ASM的, 我都是第一次看到. 即便是我之前在下面提到的ICP算法也没有实际去应用过,计算机视觉的道路任重而道远啊.

computer and machine vision 

 computer vision algorithms and applications, 

加上对应opencv2 cookbook 涉及到的大部分算法

关于寻找shape特征(feature)的方法总结                            

二维物体形状识别方法比较

Compares two shapes.

C++:  double  matchShapes (InputArray  contour1, InputArray  contour2, int  method, double  parameter )
Python:   cv2. matchShapes (contour1, contour2, method, parameter ) → retval
C:  double  cvMatchShapes (const void*  object1, const void*  object2, int  method, double  parameter=0  )
Parameters:
  • object1 – First contour or grayscale image.
  • object2 – Second contour or grayscale image.
  • method – Comparison method: CV_CONTOURS_MATCH_I1 , CV_CONTOURS_MATCH_I2 orCV_CONTOURS_MATCH_I3 (see the details below).
  • parameter – Method-specific parameter (not supported now).

The function compares two shapes. All three implemented methods use the Hu invariants (see HuMoments() ) as follows ( Adenotes object1,:math:B denotes object2 ):

  • method=CV_CONTOURS_MATCH_I1

    I_1(A,B) =  \sum _{i=1...7}  \left |  \frac{1}{m^A_i} -  \frac{1}{m^B_i} \right |

  • method=CV_CONTOURS_MATCH_I2

    I_2(A,B) =  \sum _{i=1...7}  \left | m^A_i - m^B_i  \right |

  • method=CV_CONTOURS_MATCH_I3

    I_3(A,B) =  \max _{i=1...7}  \frac{ \left| m^A_i - m^B_i \right| }{ \left| m^A_i \right| }

where

\begin{array}{l} m^A_i =  \mathrm{sign} (h^A_i)  \cdot \log{h^A_i} \\ m^B_i =  \mathrm{sign} (h^B_i)  \cdot \log{h^B_i} \end{array}

and h^A_i, h^B_i are the Hu moments of A and B , respectively.



你可能感兴趣的:(图像匹配,图像分析,opencv,图像处理学习笔记)