Code records

8 篇文章 0 订阅
2 篇文章 0 订阅

Python OpenCV

# resize image to model input
# (height, width, 3): shape of matrix read from w*h image
# (x, y): points in OpenCV/PIL/COCO, x is the width-index, y is the height-index to left-up origin
def get_affine_transform(input_size, output_size, rot=0, inv=0):
    src_h = input_size[0]
    src_w = input_size[1]
    dst_h = output_size[0]
    dst_w = output_size[1]

    rot_rad = np.pi * rot / 180

    src = np.zeros((3, 2), dtype=np.float32)
    dst = np.zeros((3, 2), dtype=np.float32)


    src[0, :] = [src_w/2, src_h/2]
    dst[0, :] = [dst_w/2, dst_h/2]
    src[1, :] = [0, 0]
    # dst[1, :] = [0, 0]
    dst[1, :] = get_dir([-dst_w/2, -dst_h/2], rot_rad) + np.array([dst_w/2, dst_h/2])
    src[2, :] = [0, src_h]
    # dst[2, :] = [0, dst_h]
    dst[2, :] = get_dir([-dst_w/2, dst_h/2], rot_rad) + np.array([dst_w/2, dst_h/2])

    if inv:
        trans = cv2.getAffineTransform(np.float32(dst), np.float32(src))
    else:
        trans = cv2.getAffineTransform(np.float32(src), np.float32(dst))

    return trans

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码可以进行一些改进来提高效率和可读性。首先,可以使用更具可读性的命名来使代码更易于理解。其次,可以使用`ErrRecordNotFound`错误来处理记录不存在的情况,这样代码更易于维护和扩展。最后,可以使用`db.Table`将SQL查询转换为更清晰的代码。 下面是改进后的代码示例: ``` var ( records []*Total err error ) err = db.Table("flaws").Where("facility_id = ?", code).Find(&records).Error if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { resp.Code = 500 resp.Msg = "查询失败" ctx.JSON(500, resp) return } err = db.Table("issues").Where("facility_id = ?", code).Find(&records).Error if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { resp.Code = 500 resp.Msg = "查询失败" ctx.JSON(500, resp) return } err = db.Table("records").Where("facility_id = ?", code).Find(&records).Error if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { resp.Code = 500 resp.Msg = "查询失败" ctx.JSON(500, resp) return } err = db.Table("qualities").Where("facility_id = ?", code).Find(&records).Error if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { resp.Code = 500 resp.Msg = "查询失败" ctx.JSON(500, resp) return } err = db.Table("inspections").Where("facility_id = ?", code).Find(&records).Error if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { resp.Code = 500 resp.Msg = "查询失败" ctx.JSON(500, resp) return } if len(records) == 0 { resp.Code = 400 resp.Msg = "记录不存在" ctx.JSON(400, resp) return } resp.Data = records ctx.JSON(200, resp) ``` 通过这些改进,代码变得更加易于理解和维护,并且可以更清晰地处理错误和异常情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值