私はこの小さなプログラムを書いて、2つの画像上で4点を選択することができます。xとyの座標を持つ点の遠近法変換を行うには
これらのポイントを使用して変換行列を取得します。その後、私は画像の1つの点を選択し、その点が他の画像のどこにあるのかを視覚化したいと考えています。
私のポイントは次のようにマークされています - >(x,y)
- タプルです。イメージ上でこの「位置」をどのようにフォーマットして、それを変換することができるか
私はdocumentation for perspectiveTransform() methodを見て、私は次のような形状で、それを格納する必要があることを考え出しています
numpy.array([
[self.points[self.length-1][0]],
[self.points[self.length-1][1]]
], dtype="float32")
シングルでこのフォーマットに私をクリックして与えることになる:このフォーマットは」doesnの
Point= [[ 2300.]
[ 634.]]
を私はこの変換行列を使用します:
M = [[ -1.71913123e+00 -4.76850572e+00 5.27968944e+03]
[ 2.07693562e-01 -1.09738424e+01 6.35222770e+03]
[ 1.02865125e-04 -4.80067600e-03 1.00000000e+00]]
thod(以下のエラーが表示されます):
cv2.perspectiveTransform(src, M)
OpenCV Error: Assertion failed (scn + 1 == m.cols) in cv::perspectiveTransform, file C:\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\core\src\matmul.cpp
アドバイスやヒントをお待ちしています。