Skip to main content

min_pooling_simd

Function min_pooling_simd 

Source
pub fn min_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::min_pooling_simd;
let input = vec![9, 8, 7, 6, 5, 4, 3, 2, 1];
let (w, h, result) = min_pooling_simd(&input, 3, 1);