OpenCV_ 2 点間の距離を求める

.x や pow、sqrt 使わないから楽。

cv::norm を使う。

    cv::Point2f a(1, 3);
    cv::Point2f b(9, 14);
    float ans = cv::norm(a - b);
    std::cout << and << std::endl;  //13.6015

 

 

ノルム ( 複数の説明引用 )

・n 次元空間におけるベクトル間の距離を表わすもの。
・いろいろなものの「大きさ」を表わす量
・ベクトル空間に対して「距離」を与える為の、数学の道具。

距離を表現するに足りる性質させ満たしていれば、全てノルム。

 

 

こちらから。
http://opencv.jp/cookbook/opencv_linalg.html#id4
https://stackoverflow.com/questions/8269605/opencv-c-distance-between-two-points
http://answers.opencv.org/question/14188/calc-eucliadian-distance-between-two-single-point/
https://na-inet.jp/nasoft/chap08.pdf
(↑ C とか R は複素数、実数の意味かと
https://ja.wikipedia.org/wiki/%E6%95%B0%E5%AD%A6%E8%A8%98%E5%8F%B7%E3%81%AE%E8%A1%A8   )
https://mathtrain.jp/lpnorm
https://ja.wikipedia.org/wiki/%E3%83%8E%E3%83%AB%E3%83%A0

以上。