基于YCrCb颜色空间的CrCb范围筛选法
- 资料显示,正常黄种人的Cr分量大约在133至173之间,Cb分量大约在77至127之间。
- 可以根据自己的项目需求放大或缩小这两个分量的范围。
void hls::hls_skin_dection(RGB_IMAGE &src, RGB_IMAGE &dst, int rows, int cols, int y_lower, int y_upper, int cb_lower, int cb_upper, int cr_lower, int cr_upper)
{
for (int row = 0; row < rows; row++)
{
for (int col = 0; col < cols; col++)
{
#pragma HLS pipeline II = 1 off
RGB_PIXEL src_data;
RGB_PIXEL pix;
RGB_PIXEL dst_data;
bool skin_region;
if (row < rows && col < cols)
{
src >> src_data;
}
uchar B = src_data.val[0];
uchar G = src_data.val[1];
uchar R = src_data.val[2];
uchar y = (76 * R + 150 * G + 29 * B) >> 8;
uchar cb = ((128 * B -