当前位置: 首页 > news >正文

最新站群漳州做网站

最新站群,漳州做网站,淄博网站排名优化报价,wordpress主题no7文章目录自适应缩放技术Letterbox介绍自适应缩放技术Letterbox流程自适应缩放Letterbox代码运行结果自适应缩放技术Letterbox介绍 由于数据集中存在多种不同和长宽比的样本图,传统的图片缩放方法按照固定尺寸来进行缩放会造成图片扭曲变形的问题。自适应缩放技术通…

文章目录

  • 自适应缩放技术Letterbox介绍
  • 自适应缩放技术Letterbox流程
  • 自适应缩放Letterbox代码
  • 运行结果

自适应缩放技术Letterbox介绍

由于数据集中存在多种不同和长宽比的样本图,传统的图片缩放方法按照固定尺寸来进行缩放会造成图片扭曲变形的问题。自适应缩放技术通过填充最少的灰边像素来将任意大小的图片调整为所需输入图片大小。

自适应缩放技术Letterbox流程

  1. 第一步:计算缩放比例。当原图的长宽不同时,将需要的尺寸大小除以原图的长宽,获得两种缩放比,选择较小的值作为缩放比例,因此图中选择的缩放比例为0.52。
  2. 第二步:分别计算缩放后的图像的长宽,原图的长宽分别乘以缩放比例,此时获得大小为 416×312。
  3. 第三步:计算填充的灰色像素。将需要的尺寸大小减去缩放后的短边大小,得到的值再采用 numpy 库中 np.mod 函数对 32 倍取余数的方式计算,然后通过平分得到对称两边需要填充的灰色像素。之所以用 32 取余,是因为 YOLOv5s 的网络需要对图像进行 5 次两倍下采样。

自适应缩放Letterbox代码

import numpy as np
import cv2def letterbox(im, new_shape=(448, 448), color=(114, 114, 114), auto=True, scaleFill=False, scaleup=True, stride=32):# Resize and pad image while meeting stride-multiple constraintsshape = im.shape[:2]  # current shape [height, width]if isinstance(new_shape, int):new_shape = (new_shape, new_shape)# Scale ratio (new / old)r = min(new_shape[0] / shape[0], new_shape[1] / shape[1])if not scaleup:  # only scale down, do not scale up (for better val mAP)r = min(r, 1.0)# Compute paddingratio = r, r  # width, height ratiosnew_unpad = int(round(shape[1] * r)), int(round(shape[0] * r))dw, dh = new_shape[1] - new_unpad[0], new_shape[0] - new_unpad[1]  # wh paddingif auto:  # minimum rectangledw, dh = np.mod(dw, stride), np.mod(dh, stride)  # wh paddingelif scaleFill:  # stretchdw, dh = 0.0, 0.0new_unpad = (new_shape[1], new_shape[0])ratio = new_shape[1] / shape[1], new_shape[0] / shape[0]  # width, height ratiosdw /= 2  # divide padding into 2 sidesdh /= 2if shape[::-1] != new_unpad:  # resizeim = cv2.resize(im, new_unpad, interpolation=cv2.INTER_LINEAR)top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1))left, right = int(round(dw - 0.1)), int(round(dw + 0.1))im = cv2.copyMakeBorder(im, top, bottom, left, right, cv2.BORDER_CONSTANT, value=color)  # add borderreturn im, ratio, (dw, dh)
ori = cv2.imread(r"F:\python\object_detection\yolov7\test\2.jpg")
im, ratio, (dw, dh) = letterbox(im=ori)
cv2.imshow('ori', ori)
cv2.imshow('new_img_bbox', im)
cv2.imwrite("2.jpg", ori)
cv2.imwrite("3.jpg", im)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果

原图:
请添加图片描述
letterbox后
请添加图片描述

http://www.yayakq.cn/news/768702/

相关文章:

  • 自个做网站教程濮阳网络科技有限公司
  • 自己做网站可以挣钱吗小企业网站建设一般收费
  • 个人网站建站步骤WordPress使用微博外链
  • wordpress站内链接亚马逊网站建设案例分析
  • 大兴专注高端网站建设做网站的基本要素
  • 网站建设需要ui吗企业网页制作要注意什么
  • 广西网站建设工具青岛模板建站多少钱
  • 设计网站推荐知乎为什么做网站网站
  • seo整站优化吧环境设计案例网站
  • 网站建设所需美工温州网站推广模板
  • 网站建设公司怎么发展新客户电力建设网站进不去
  • 杭州购物网站建设怎么样开发app软件
  • 海南网站搭建价格电子商务网站进度的基本流程
  • 免费行情软件网站直播无忧网站建设费用
  • 差异基因做热图在线网站织梦猫免费模板
  • 广州网站设计营销公司中华网
  • 网站建设方案书要写吗中医网站建设素材
  • 网站是做后台好还是做前台好如何开网站详细步骤
  • 长治网站建设招聘陕西手机网站建设公司哪家好
  • 青岛知名网站建设定制做图模板网站有哪些
  • 网站排名 影响因素网站建设合同英文
  • 县检察院门户网站建设情况网站开发 q3687474
  • copyright 个人网站大作业网站建设方案
  • 企业内网 网站建设的解决方案水土保持与生态建设网站
  • 刀具东莞网站建设广东省深圳建设信息网官网
  • 智慧旅游网站建设方案上海公司注册查询官网
  • 网站专题策划页面怎么做腾讯网站建设专家
  • 苏州网站建站推广浙江省工程建设协会网站
  • 厦门网站建设格装修企业网站建设
  • 天津营销网站建设公司排名电子商务网站设计与规划