这里面的x,y最后都要-1是为什么?有没有人能解答一下?急!
1条回答 默认 最新
- 梦幻精灵_cq 2023-10-06 17:37关注
您得隆重介绍下转换函数的形参size、box要代入的实参,晓得两个实参她们俩是个啥,才好分析函数中的x、y变量为啥子都要-1。
复刻您截图中的convert函数,得不到正确结果。
如:size, box = (3, 3), (1, 4, 1, 4)
输出:
实参图形
很显然,输出不对!我认为算法设计有问题。
def convert(size, box): dw, dh = 1./size[0], 1./size[1] x = (box[0] + box[1])/2.0 - 1 y = (box[2] + box[3])/2.0 - 1 w = box[1] - box[0] h = box[3] - box[2] x *= dw w *= dw y *= dh h *= dh return x, y, w, h
- 应该是——
代码
#!/sur/bin/nve python # coding: utf-8 def convert(size, box): w, h = size # 框宽高可以直接赋值。 x1, x2, y1, y2 = box # (x1, y1)、(x2, y2)框左上角右下角坐标赋值变量,方便计算。 x = abs(x1-x2)/2 + x1 # 计算x轴,起点x值+框宽一半。 y = abs(y1-y2)/2 + y1 # 计算y轴,起点y值+框高的一半。 return (x, y), w, h if __name__ == '__main__': size, box = (3, 3), (1, 4, 1, 4) #size, box = (4, 3), (1, 5, 1, 4) print(convert(size, box))
- 实参size, box = (4, 3), (1, 5, 1, 4)
实参图形
输出
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 非科班怎么跑代码?如何导数据和调参
- ¥15 福州市的全人群死因监测点死亡原因报表
- ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
- ¥15 系统2008r2 装机配置推荐一下
- ¥500 服务器搭建cisco AnyConnect vpn
- ¥15 悬赏Python-playwright部署在centos7上
- ¥15 psoc creator软件有没有人能远程安装啊
- ¥15 快速扫描算法求解Eikonal方程咨询
- ¥15 校内二手商品转让网站
- ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?