Armv8 - 32 SIMD整数编程:图像阈值处理与均值计算
1. 图像阈值处理概述
图像阈值处理是一种将灰度图像转换为二值(或双色)图像的图像处理技术。这个二值图像(也称为掩码图像)用于标记原始图像中哪些像素的强度值大于预定或通过算法得出的阈值。掩码图像常用于利用原始图像的灰度像素值进行额外的计算,例如计算原始图像中所有高于阈值的像素的平均强度值。
以下是 CalcMeanU8 和 CalcMeanU8_ 函数处理8388627个像素的平均执行时间(微秒)对比:
| 实现方式 | 平均执行时间(微秒) |
| — | — |
| C++ (CalcMeanU8) | 9339 |
| 汇编语言 (CalcMeanU8_) | 2147 |
2. 示例代码分析
示例代码 Ch08_06 展示了如何计算高于指定阈值的图像像素的平均强度。以下是代码的详细分析:
2.1 头文件 Ch08_06.h
#pragma once
#include <cstdint>
struct ITD
{
uint8_t* PbSrc; // 源图像像素缓冲区
uint8_t* PbMask; // 掩码图像像素缓冲区
uint32_t NumPixels; // 源图像像素数量
uint32_t
Armv8 SIMD图像处理优化
超级会员免费看
订阅专栏 解锁全文
75

被折叠的 条评论
为什么被折叠?



