CPU指令集——图像处理方向算子收集

阈值分割,得到二值图,高于阈值的为255

__m256i 阈值= _mm256_set1_epi8(阈值);
__m256i 图像1= _mm256_subs_epu8(原图像, 阈值); //低于阈值的都为0
__m256i 二值图 = _mm256_cmpeq_epi8(图像1, _mm256_set1_epi8(0));//低于阈值的为255,高于阈值的为0
二值图 = _mm256_andnot_si256(v, _mm256_set1_epi8(-1));//取反,低于阈值的为0,高于阈值的为255

面积,统计255的个数

int nMask = _mm256_movemask_epi8(二值图);//提取每8位的最高位组成一个32位dst
面积+= _mm_popcnt_u32(nMask);//32位中1的个数。即像素灰度为255的个数。循环完毕后就是目标面积(含噪点,越大表明噪声越多)

 

posted @ 2024-07-05 17:43  夕西行  阅读(28)  评论(0编辑  收藏  举报