SimilarityTransform(scikit-image)和warpAffine(openCV)之间的区别?



我目前正在研究洞察力,特别是这个预处理函数。

它同时使用scikit图像SimilarityTransform函数(文档(和openCVwarpAffine函数(文档(

两者之间是否存在根本区别,或者它们只是调用相同数学转换的两种不同方式?

相似性变换是仿射变换的特殊情况,其中剪切力为 0。(只允许缩放、旋转和平移。scikit-image 也有一个 AffineTransform 对象。

scikit-image 中的变换对象既可用于估计变换,如 Piotr 所指出的,也可用于执行变换,使用skimage.transform.warp

@Juan的答案对公认的答案更准确。SimilarityTransform的opencv版本应该与fullAffine=falseestimateRigidTransform
你应该在这里找到答案 给定一组点,如何计算相似性变换(平移,比例,旋转(?

基本上它们都表示仿射变换。但是,SimilarityTransform用于计算两组点之间的此转换,warpAffine用于使用仿射转换转换图像。OpenCV相当于SimilarityTransformgetAffineTransform。您可以在此处找到有关这些功能的更多信息。

最新更新