Skip to main content

max_pooling_simd

Function max_pooling_simd 

Source
pub fn max_pooling_simd(
    input: &[u8],
    width: usize,
    factor: usize,
) -> (usize, usize, Vec<u8>)
Expand description

使用 SIMD 指令优化的最大池化函数

§详细说明

对输入的二维图像数据执行最大池化操作,使用 AVX2 SIMD 指令集并行处理以提升性能。 池化操作将输入图像按指定因子缩小,每个输出像素对应输入区域的最大值。

§参数

  • input: 输入图像数据的一维数组表示(按行优先存储)
  • width: 输入图像的宽度(像素数)
  • factor: 池化因子,决定缩放比例(如 2 表示 2x2 池化)

§返回值

返回元组 (output_width, output_height, output_data):

  • output_width: 输出图像宽度
  • output_height: 输出图像高度
  • output_data: 池化后的图像数据

§示例

use image_max_polling::max_pooling_simd;
let input = vec![1, 2, 3, 4, 5, 6, 7, 8, 9];
let (w, h, result) = max_pooling_simd(&input, 3, 1);