问题描述
带有关键点(绿点)的源图像(相机视图)是:
具有相应关键点(绿点)的目标图像(顶视图)是:
转换合并后的图片(俯视图)为:
让我烦恼的是,玩家离得越远(相对于相机),他们变得越“伸展”(比较源图像和目标图像之间的红圈玩家)。 在上端,甚至缺少一些播放器,这让我相信 H 矩阵:
$$ H = \left[ \begin{数组}{cccc} -0.07597200563 & -0.883808889 & 306.0068\ -0.05874844307 & -1.283603761 & 635.3404\ -0.00005440938 & -0.002732269 & 1.0000 \end{数组} \right] $$
错了。我用来计算 H 的 python 代码是:
src_list = [[1627,481],[1843,491],[1060,449],[140,472],[813,451],[1122,499],[307,574],[1332,460],[1482,529],[895,478],[1916,[1913,567],[6,643],[319,467]]
dst_list = [[608,187],[606,232],[603,12],[387,1],[518,2],[520,166],[373,208],[616,88],251],[519,87],[607,258],[522,314],[347,[420,3]]
src_pts = np.array(src_list).reshape(-1,1,2)
dst_pts = np.array(dst_list).reshape(-1,2)
H,mask = cv.findHomography(src_pts,dst_pts,cv.RANSAC,5.0)
有没有办法计算不在运动场平面内的身体部位(例如肩部)的变形量?毕竟,我可以安全地假设飞机和一些玩家肩膀之间的大约距离是人类的平均身高。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)