оценка преобразования в CV2 - это разница с документом - PullRequest
0 голосов
/ 12 сентября 2018

Документ https://docs.opencv.org/3.0-beta/modules/shape/doc/shape_transformers.html void эстимейт трансформации (InputArray transformingShape, InputArray targetShape, std :: vector & match) Так что я запускаю свой код

import cv2
import numpy as np
import matplotlib.pyplot as plt

tps = cv2.createThinPlateSplineShapeTransformer()

sshape = np.array ([[67, 90], [206, 90], [67, 228], [206, 227]], np.float32)
tshape = np.array ([[64, 63], [205, 122], [67, 263], [207, 192]], np.float32)
sshape = sshape.reshape (1, -1, 2)
tshape = tshape.reshape (1, -1, 2)
matches = list ()
matches.append (cv2.DMatch (0, 0, 0))
matches.append (cv2.DMatch (1,1,0))
matches.append (cv2.DMatch (2, 2, 0))
matches.append (cv2.DMatch (3, 3, 0))
tps.estimateTransformation (tshape, sshape, matches)
ret, tshape  = tps.applyTransformation (sshape)


img = cv2.imread ('tiger.jpg', 1)
out_img = tps.warpImage (img)

plt.imshow(cv2.cvtColor(out_img, cv2.COLOR_BGR2RGB))
plt.show()

cv2.waitKey(0)

cv2.waitKey (0) Результат выглядит как обратный, который я ожидал введите описание изображения здесь

Итак, я меняю свой код tps.estimateTransformation (tshape, sshape, match)

И я получил ожидаемый результат. введите описание изображения здесь

Это неверно в документе или мой код неверен.

...