知识点:
直线检测:原图膨胀-原图腐蚀
角点检测:result1 = 膨胀(十字)+腐蚀(菱形)(对原图进行的连续形态学滤波)
result2 = 膨胀(x 型 )+腐蚀(方形)(对原图进行的连续形态学运算)
result = abs(result1 - result2)
具体语言叙述:
1.直线检测:计算膨胀后的图像与腐蚀后图像的差值。由于这两个变换的图像不同的地方主要在边缘处,图像边缘将通过求差得到强化。这整是cv::morphologyEx在参数cv::MORPH_GRADIENT的作用原理
2.角点检测:原理是使用膨胀来进行闭运算,并使用两种不同的结构元素来应用腐蚀运算。挑选的这些元素可以确保连续的边缘不受改变,但是由于他们的重复效应,角点出的边缘仍受到影响。
MorphoFeatures.cpp:
#include <opencv2/core/core.hpp