/// <summary> /// 提取人脸特征码。 /// </summary> /// <param name="bitmap">图片</param> /// <param name="alignmentResult">要提取特征码的人脸的对齐结果</param> /// <param name="feat">特征码</param> /// <returns></returns> public static bool ExtractFeature(Bitmap bitmap, ref AlignmentResult alignmentResult, float[] feat) { Bitmap bmp = BitmapTo24Rgb(bitmap); //将图像转换为24位rgb图像 bmp.SetResolution(96, 96); //设置dpi=96 byte[] imageByte = BitmapToByteBuffer(bmp, out int width, out int height, out int stride); return(SDK.ExtracFeatureByte(imageByte, width, height, stride, ref alignmentResult, feat)); }
/// <summary> /// 人脸对齐,返回识别到的人脸数量。 /// </summary> /// <param name="path">图片的路径</param> /// <param name="faces">人脸对齐的结果</param> /// <returns></returns> public static int Alignment(string path, ref AlignmentResult[] faces) { StringBuilder json = new StringBuilder(1500); int faceCount = SDK.Alignment(path, json); if (faceCount > 0) { JsonSerializer serializer = new JsonSerializer(); faces = serializer.Deserialize <AlignmentResult[]>(new JsonTextReader(new StringReader(json.ToString()))); return(faceCount); } else { faces = new AlignmentResult[0]; return(faceCount); } }
/// <summary> /// 人脸对齐,返回识别到的人脸数量。 /// </summary> /// <param name="bitmap">图片</param> /// <param name="faces">人脸对齐的结果</param> /// <returns></returns> public static int Alignment(Bitmap bitmap, ref AlignmentResult[] faces) { Bitmap bmp = BitmapTo24Rgb(bitmap); //将图像转换为24位rgb图像 bmp.SetResolution(96, 96); //设置dpi=96 byte[] imageByte = BitmapToByteBuffer(bmp, out int width, out int height, out int stride); StringBuilder json = new StringBuilder(1500); int faceCount = SDK.AlignmentByte(imageByte, width, height, stride, json); if (faceCount > 0) { JsonSerializer serializer = new JsonSerializer(); faces = serializer.Deserialize <AlignmentResult[]>(new JsonTextReader(new StringReader(json.ToString()))); return(faceCount); } else { faces = new AlignmentResult[0]; return(faceCount); } }
public extern static bool ExtracFeatureByte(byte[] imageByte, int width, int height, int stride, ref AlignmentResult alignmentResult, float[] feat);
public extern static bool ExtractFeature(string picPath, ref AlignmentResult alignmentResult, float[] feat);
/// <summary> /// 提取人脸特征码。 /// </summary> /// <param name="path">图片路径</param> /// <param name="alignmentResult">要提取特征码的人脸的对齐结果</param> /// <param name="feat">特征码</param> /// <returns></returns> public static bool ExtractFeature(string path, ref AlignmentResult alignmentResult, float[] feat) { return(SDK.ExtractFeature(path, ref alignmentResult, feat)); }