python - opencv python中cv2.NORM_L2和cv2.NORM_L1的区别

标签 python opencv feature-detection

我正在使用来自 python 额外模块的 sift 算法进行一些特征匹配。 尽管我不明白的一件事是传递给 BFMatcher 的 normType 背后的概念。即在什么情况下必须使用哪些?

任何帮助都是无价的

最佳答案

来自 WolframAlpha NormL1NormL2 :

给定一个向量:

enter image description here

Norm L1 是出租车(或曼哈顿)距离(绝对值之和):

enter image description here

Norm L2是欧氏距离(平方和的平方根):

enter image description here

范数的类型告诉 BFMatcher 如何计算每两个特征之间的距离。

NORM L1 通常计算起来要快得多(主要是因为您不计算平方根)。 NORM L2 更准确。

你可以找到一个很好的比较here .

关于python - opencv python中cv2.NORM_L2和cv2.NORM_L1的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32849465/

相关文章:

python - 尝试每小时使用 crontab 运行一个 python 脚本,但 python 代码的一部分不执行

python - 生成分布在单位球体表面的点的随机样本

android - 将 android 预览帧转换为 OpenCV Mat

opencv - 是否可以将灰度图像用于现有模型?

安卓opencv。特征检测器。实现检测

python - 避免函数内部出现 ZeroDivisionError

python - 当我运行命令十进制时,Python tkinter 没有打印

opencv - 二元矩阵中的形态填充光环

OpenCV 模板匹配最大最小值返回错误值

opencv - 如何处理遮挡和碎片