Я тестирую Apple Vision Alignment API и у меня есть вопросы, касающиеся VNHomographicImageRegistrationRequest.Кто-нибудь получил его на работу?Я могу извлечь из него warpTransform, но мне еще предстоит увидеть матрицу, которая имеет смысл, то есть я не могу получить результат, который деформирует изображение обратно на исходное изображение.Я использую OpenCV warpPerspective для обработки деформации.
Я вызываю это, чтобы получить преобразование:
class func homography(_ cgImage0 : CGImage!, _ cgImage1 : CGImage!, _ orientation : CGImagePropertyOrientation, completion:(matrix_float3x3?)-> ())
{
let registrationSequenceReqHandler = VNSequenceRequestHandler()
let requestHomography = VNHomographicImageRegistrationRequest(targetedCGImage: cgImage1, orientation: orientation)
let requestTranslation = VNTranslationalImageRegistrationRequest(targetedCGImage: cgImage1, orientation: orientation)
do
{
try registrationSequenceReqHandler.perform([requestHomography, requestTranslation], on: cgImage0) //reference
if let resultH = requestHomography.results?.first as? VNImageHomographicAlignmentObservation
{
completion(resultH.warpTransform)
}
if let resultT = requestTranslation.results?.first as? VNImageTranslationAlignmentObservation
{
print ("translation : \(resultT.alignmentTransform.tx) : \(resultT.alignmentTransform.ty)")
}
}
catch
{
completion(nil)
print("bad")
}
}
Это работает и выводит матрицу гомографии, но его результаты кардинально отличаются от того, что я получаю, когда делаю SIFT + Opencv findHomography (https://docs.opencv.org/3.0-beta/doc/tutorials/features2d/feature_homography/feature_homography.html)
Независимо от моих пар изображений, я не могу получить разумные гомографические результаты из набора данных Apple Vision.
Заранее спасибо,