版本是:
python 3.6.3
opencv v2.4.12
對于這個函式我所使用的案例是
(1)python版本
import cv2
In [2]: import numpy as np
In [3]: src = [[100, 50], [100, 390], [600, 50]];
In [4]: src = np.asarray(src)
In [5]: dst = [[200, 100], [200, 330], [500, 50]]
In [6]: dst = np.asarray(dst)
In [7]: trans = cv2.getAffineTransform(np.float32(src), np.float32(dst))
In [8]: trans
Out[8]:
array([[ 6.00000000e-01, 0.00000000e+00, 1.40000000e+02],
[ -1.00000000e-01, 6.76470588e-01, 7.61764706e+01]])
(2)c++版本
cv::Point2f AffinePoints0[3] = {cv::Point2f(100, 50), cv::Point2f(100, 390), cv::Point2f(600, 50) };
//設定目標影像變換頂點
cv::Point2f AffinePoints1[3] = {cv::Point2f(200, 100), cv::Point2f(200, 330), cv::Point2f(500, 50) };
//計算變換矩陣
cv::Mat trans = cv::getAffineTransform(AffinePoints0, AffinePoints1);
trans結果如下:
4.17233e-08 1.775 0
-1.58819e-23 -1.45 -2.87352e-16
這兩個結果不應該一樣嗎
uj5u.com熱心網友回復:
樓主是不是列印錯了啊?c++版的結果也py版的值是一樣的啊uj5u.com熱心網友回復:
不過,我的c++ opencv 是3.4.6轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/132366.html
標籤:OpenCV
上一篇:達雷爾·穆利斯,朱迪絲·奧洛夫. “世界上最簡單的會計書。”
下一篇:寶馬碰撞分析資料
