水果网站建设方案书,中国楼市最新消息已出,有没有一种网站做拍卖厂的,网站后台修改网站首页怎么做mx.image.resize_short是MXNet中用于调整图像大小的一个函数。它将图像的短边调整到指定的长度#xff0c;同时保持图像的宽高比。函数定义如下#xff0c;
mx.image.resize_short(src, size, interp2)
src#xff1a;输入的图像#xff0c;可以是NDArray或者numpy.ndarr…mx.image.resize_short是MXNet中用于调整图像大小的一个函数。它将图像的短边调整到指定的长度同时保持图像的宽高比。函数定义如下
mx.image.resize_short(src, size, interp2)
src输入的图像可以是NDArray或者numpy.ndarraysize新的短边长度。图像的短边会被调整到这个长度长边会按比例缩放interp插值方法默认为2双线性插值。可以选择的插值方法包括 0最近邻插值 1双线性插值 2双三次插值 3面积插值
这里重点解释一下面积插值的原理
假设有一个4x4的图像需要将其缩小到2x2的图像。面积插值会将原始图像划分为多个区域然后计算每个区域的平均值来生成新的像素。例如1、将4x4的图像划分为2x2的区域每个区域包含2x2个像素2、对每个区域计算其包含像素的平均值3、用这些平均值来生成新的2x2图像
面积插值的特点
适用于缩小图像面积插值在图像缩小时表现出色因为它能够更好地保留原始图像的细节和信息计算平均值面积插值通过计算原始图像中多个像素的平均值来生成新的像素值。这种方法能够避免由于简单采样而丢失信息的问题平滑效果由于使用了平均值面积插值通常会产生更平滑的图像减少了锯齿效应
面积插值的示例代码如下
import mxnet as mx
import numpy as npx np.arange(1, 17)
x np.reshape(x, (4, 4, 1))
x mx.nd.array(x)
resized_x mx.image.resize_short(x, 2, interp3)print(x)
print(resized_x)[[[ 1.][ 2.][ 3.][ 4.]][[ 5.][ 6.][ 7.][ 8.]][[ 9.][10.][11.][12.]][[13.][14.][15.][16.]]]
NDArray 4x4x1 cpu(0)[[[ 3.5][ 5.5]][[11.5][13.5]]]
NDArray 2x2x1 cpu(0)回到mx.image.resize_short给定入参后函数会先判断输入数据的w和h的大小将图像的短边调整到指定的长度同时保持图像的宽高比
h, w, _ src.shape
if h w:new_h, new_w size * h // w, size
else:new_h, new_w size, size * w // h
获得new_h和new_w后便可进行插值得到resize后的数据。