VC++开发人脸识别
来源:互联网 发布:aics6软件下载中文版 编辑:程序博客网 时间:2024/06/02 07:43
在论坛上看到一个用VC++写人脸识别应用程序的方法。
声明:转自http://blog.csdn.net/yincheng01/article/details/8839154
FaceSDK可以帮助Visual C++, C#, VB, Jav以及Borland Delphi开发者构建基于Web, Windows, Linux和Macintosh的具有人脸识别功能的应用程序。
头文件如下,可以轻易构建一个人脸识别的应用程序。
软件下载:http://download.csdn.net/detail/yincheng01/4173385
[cpp] view plaincopyprint?
- #ifndef _LUXANDFACESDK_
- #define _LUXANDFACESDK_
- #if defined( _WIN32 ) || defined ( _WIN64 )
- #define _FSDKIMPORT_ __declspec(dllimport) __cdecl
- #include <windows.h>
- #else
- #define _FSDKIMPORT_
- #define __cdecl
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- // Error codes
- #define FSDKE_OK 0
- #define FSDKE_FAILED -1
- #define FSDKE_NOT_ACTIVATED -2
- #define FSDKE_OUT_OF_MEMORY -3
- #define FSDKE_INVALID_ARGUMENT -4
- #define FSDKE_IO_ERROR -5
- #define FSDKE_IMAGE_TOO_SMALL -6
- #define FSDKE_FACE_NOT_FOUND -7
- #define FSDKE_INSUFFICIENT_BUFFER_SIZE -8
- #define FSDKE_UNSUPPORTED_IMAGE_EXTENSION -9
- #define FSDKE_CANNOT_OPEN_FILE -10
- #define FSDKE_CANNOT_CREATE_FILE -11
- #define FSDKE_BAD_FILE_FORMAT -12
- #define FSDKE_FILE_NOT_FOUND -13
- #define FSDKE_CONNECTION_CLOSED -14
- #define FSDKE_CONNECTION_FAILED -15
- #define FSDKE_IP_INIT_FAILED -16
- #define FSDKE_NEED_SERVER_ACTIVATION -17
- // Facial feature count
- #define FSDK_FACIAL_FEATURE_COUNT 66
- // Types
- typedef enum {
- FSDK_MJPEG
- } FSDK_VIDEOCOMPRESSIONTYPE;
- typedef enum {
- FSDK_IMAGE_GRAYSCALE_8BIT,
- FSDK_IMAGE_COLOR_24BIT,
- FSDK_IMAGE_COLOR_32BIT
- } FSDK_IMAGEMODE;
- typedef unsigned int HImage;
- typedef struct {
- int x, y;
- } TPoint;
- typedef TPoint TPointArray [FSDK_FACIAL_FEATURE_COUNT];
- typedef TPoint FSDK_Features [FSDK_FACIAL_FEATURE_COUNT];
- typedef float FSDK_ConfidenceLevels [FSDK_FACIAL_FEATURE_COUNT];
- typedef struct {
- int xc, yc, w;
- double angle;
- } TFacePosition;
- typedef struct {
- char ftemplate[16384];
- } FSDK_FaceTemplate;
- typedef void (__cdecl *FSDK_ProgressCallbackFunction)(int);
- // Facial features
- #define FSDKP_LEFT_EYE 0
- #define FSDKP_RIGHT_EYE 1
- #define FSDKP_LEFT_EYE_INNER_CORNER 24
- #define FSDKP_LEFT_EYE_OUTER_CORNER 23
- #define FSDKP_LEFT_EYE_LOWER_LINE1 38
- #define FSDKP_LEFT_EYE_LOWER_LINE2 27
- #define FSDKP_LEFT_EYE_LOWER_LINE3 37
- #define FSDKP_LEFT_EYE_UPPER_LINE1 35
- #define FSDKP_LEFT_EYE_UPPER_LINE2 28
- #define FSDKP_LEFT_EYE_UPPER_LINE3 36
- #define FSDKP_LEFT_EYE_LEFT_IRIS_CORNER 29
- #define FSDKP_LEFT_EYE_RIGHT_IRIS_CORNER 30
- #define FSDKP_RIGHT_EYE_INNER_CORNER 25
- #define FSDKP_RIGHT_EYE_OUTER_CORNER 26
- #define FSDKP_RIGHT_EYE_LOWER_LINE1 41
- #define FSDKP_RIGHT_EYE_LOWER_LINE2 31
- #define FSDKP_RIGHT_EYE_LOWER_LINE3 42
- #define FSDKP_RIGHT_EYE_UPPER_LINE1 40
- #define FSDKP_RIGHT_EYE_UPPER_LINE2 32
- #define FSDKP_RIGHT_EYE_UPPER_LINE3 39
- #define FSDKP_RIGHT_EYE_LEFT_IRIS_CORNER 33
- #define FSDKP_RIGHT_EYE_RIGHT_IRIS_CORNER 34
- #define FSDKP_LEFT_EYEBROW_INNER_CORNER 13
- #define FSDKP_LEFT_EYEBROW_MIDDLE 16
- #define FSDKP_LEFT_EYEBROW_MIDDLE_LEFT 18
- #define FSDKP_LEFT_EYEBROW_MIDDLE_RIGHT 19
- #define FSDKP_LEFT_EYEBROW_OUTER_CORNER 12
- #define FSDKP_RIGHT_EYEBROW_INNER_CORNER 14
- #define FSDKP_RIGHT_EYEBROW_MIDDLE 17
- #define FSDKP_RIGHT_EYEBROW_MIDDLE_LEFT 20
- #define FSDKP_RIGHT_EYEBROW_MIDDLE_RIGHT 21
- #define FSDKP_RIGHT_EYEBROW_OUTER_CORNER 15
- #define FSDKP_NOSE_TIP 2
- #define FSDKP_NOSE_BOTTOM 49
- #define FSDKP_NOSE_BRIDGE 22
- #define FSDKP_NOSE_LEFT_WING 43
- #define FSDKP_NOSE_LEFT_WING_OUTER 45
- #define FSDKP_NOSE_LEFT_WING_LOWER 47
- #define FSDKP_NOSE_RIGHT_WING 44
- #define FSDKP_NOSE_RIGHT_WING_OUTER 46
- #define FSDKP_NOSE_RIGHT_WING_LOWER 48
- #define FSDKP_MOUTH_RIGHT_CORNER 3
- #define FSDKP_MOUTH_LEFT_CORNER 4
- #define FSDKP_MOUTH_TOP 54
- #define FSDKP_MOUTH_TOP_INNER 61
- #define FSDKP_MOUTH_BOTTOM 55
- #define FSDKP_MOUTH_BOTTOM_INNER 64
- #define FSDKP_MOUTH_LEFT_TOP 56
- #define FSDKP_MOUTH_LEFT_TOP_INNER 60
- #define FSDKP_MOUTH_RIGHT_TOP 57
- #define FSDKP_MOUTH_RIGHT_TOP_INNER 62
- #define FSDKP_MOUTH_LEFT_BOTTOM 58
- #define FSDKP_MOUTH_LEFT_BOTTOM_INNER 63
- #define FSDKP_MOUTH_RIGHT_BOTTOM 59
- #define FSDKP_MOUTH_RIGHT_BOTTOM_INNER 65
- #define FSDKP_NASOLABIAL_FOLD_LEFT_UPPER 50
- #define FSDKP_NASOLABIAL_FOLD_LEFT_LOWER 52
- #define FSDKP_NASOLABIAL_FOLD_RIGHT_UPPER 51
- #define FSDKP_NASOLABIAL_FOLD_RIGHT_LOWER 53
- #define FSDKP_CHIN_BOTTOM 11
- #define FSDKP_CHIN_LEFT 9
- #define FSDKP_CHIN_RIGHT 10
- #define FSDKP_FACE_CONTOUR1 7
- #define FSDKP_FACE_CONTOUR2 5
- #define FSDKP_FACE_CONTOUR12 6
- #define FSDKP_FACE_CONTOUR13 8
- // Initialization functions
- int _FSDKIMPORT_ FSDK_ActivateLibrary(char * LicenseKey);
- int _FSDKIMPORT_ FSDK_GetHardware_ID(char * HardwareID);
- int _FSDKIMPORT_ FSDK_GetLicenseInfo(char * LicenseInfo);
- int _FSDKIMPORT_ FSDK_SetNumThreads(int Num);
- int _FSDKIMPORT_ FSDK_GetNumThreads(int * Num);
- int _FSDKIMPORT_ FSDK_Initialize(char * DataFilesPath);
- int _FSDKIMPORT_ FSDK_Finalize();
- // Face detection functions
- int _FSDKIMPORT_ FSDK_DetectEyes(HImage Image, FSDK_Features * FacialFeatures);
- int _FSDKIMPORT_ FSDK_DetectEyesInRegion(HImage Image, TFacePosition * FacePosition, FSDK_Features * FacialFeatures);
- int _FSDKIMPORT_ FSDK_DetectFace(HImage Image, TFacePosition* FacePosition);
- int _FSDKIMPORT_ FSDK_DetectMultipleFaces(HImage Image, int * DetectedCount, TFacePosition * FaceArray, int MaxSize);
- int _FSDKIMPORT_ FSDK_DetectFacialFeatures(HImage Image, FSDK_Features * FacialFeatures);
- int _FSDKIMPORT_ FSDK_DetectFacialFeaturesInRegion(HImage Image, TFacePosition * FacePosition, FSDK_Features * FacialFeatures);
- int _FSDKIMPORT_ FSDK_DetectFacialFeaturesEx(HImage Image, FSDK_Features * FacialFeatures, FSDK_ConfidenceLevels * ConfidenceLevels);
- int _FSDKIMPORT_ FSDK_DetectFacialFeaturesInRegionEx(HImage Image, TFacePosition * FacePosition, FSDK_Features * FacialFeatures, FSDK_ConfidenceLevels * ConfidenceLevels);
- int _FSDKIMPORT_ FSDK_SetFaceDetectionParameters(bool HandleArbitraryRotations, bool DetermineFaceRotationAngle, int InternalResizeWidth);
- int _FSDKIMPORT_ FSDK_SetFaceDetectionThreshold(int Threshold);
- // Image manipulation functions
- int _FSDKIMPORT_ FSDK_CreateEmptyImage(HImage * Image);
- int _FSDKIMPORT_ FSDK_LoadImageFromFile(HImage * Image, char * FileName);
- int _FSDKIMPORT_ FSDK_LoadImageFromBuffer(HImage * Image, unsigned char * Buffer, int Width, int Height, int ScanLine, FSDK_IMAGEMODE ImageMode);
- int _FSDKIMPORT_ FSDK_LoadImageFromJpegBuffer(HImage * Image, unsigned char * Buffer, unsigned int BufferLength);
- int _FSDKIMPORT_ FSDK_LoadImageFromPngBuffer(HImage * Image, unsigned char * Buffer, unsigned int BufferLength);
- int _FSDKIMPORT_ FSDK_FreeImage(HImage Image);
- int _FSDKIMPORT_ FSDK_SaveImageToFile(HImage Image, char * FileName);
- #if defined( _WIN32 ) || defined ( _WIN64 )
- int _FSDKIMPORT_ FSDK_LoadImageFromFileW(HImage * Image, wchar_t * FileName);
- int _FSDKIMPORT_ FSDK_SaveImageToFileW(HImage Image, wchar_t * FileName);
- int _FSDKIMPORT_ FSDK_LoadImageFromHBitmap(HImage * Image, HBITMAP BitmapHandle);
- int _FSDKIMPORT_ FSDK_SaveImageToHBitmap(HImage Image, HBITMAP * BitmapHandle);
- #endif
- int _FSDKIMPORT_ FSDK_GetImageBufferSize(HImage Image, int * BufSize, FSDK_IMAGEMODE ImageMode);
- int _FSDKIMPORT_ FSDK_SaveImageToBuffer(HImage Image, unsigned char * Buffer, FSDK_IMAGEMODE ImageMode);
- int _FSDKIMPORT_ FSDK_SetJpegCompressionQuality(int Quality);
- int _FSDKIMPORT_ FSDK_CopyImage(HImage SourceImage, HImage DestImage);
- int _FSDKIMPORT_ FSDK_ResizeImage(HImage SourceImage, double ratio, HImage DestImage);
- int _FSDKIMPORT_ FSDK_RotateImage90(HImage SourceImage, int Multiplier, HImage DestImage);
- int _FSDKIMPORT_ FSDK_RotateImage(HImage SourceImage, double angle, HImage DestImage);
- int _FSDKIMPORT_ FSDK_RotateImageCenter(HImage SourceImage, double angle, double xCenter, double yCenter, HImage DestImage);
- int _FSDKIMPORT_ FSDK_CopyRect(HImage SourceImage, int x1, int y1, int x2, int y2, HImage DestImage);
- int _FSDKIMPORT_ FSDK_CopyRectReplicateBorder(HImage SourceImage, int x1, int y1, int x2, int y2, HImage DestImage);
- int _FSDKIMPORT_ FSDK_MirrorImage(HImage Image, bool UseVerticalMirroringInsteadOfHorizontal);
- int _FSDKIMPORT_ FSDK_GetImageWidth(HImage SourceImage, int * Width);
- int _FSDKIMPORT_ FSDK_GetImageHeight(HImage SourceImage, int * Height);
- int _FSDKIMPORT_ FSDK_ExtractFaceImage(HImage Image, FSDK_Features * FacialFeatures, int Width, int Height, HImage * ExtractedFaceImage, FSDK_Features * ResizedFeatures);
- int _FSDKIMPORT_ FSDK_GetImageData(HImage Image, unsigned char ** Data, int * Width, int * Height, int * ScanLine, FSDK_IMAGEMODE * ColorMode);
- // Matching
- int _FSDKIMPORT_ FSDK_GetFaceTemplate(HImage Image, FSDK_FaceTemplate * FaceTemplate);
- int _FSDKIMPORT_ FSDK_GetFaceTemplateInRegion(HImage Image, TFacePosition * FacePosition, FSDK_FaceTemplate * FaceTemplate);
- int _FSDKIMPORT_ FSDK_GetFaceTemplateUsingFeatures(HImage Image, FSDK_Features * FacialFeatures, FSDK_FaceTemplate * FaceTemplate);
- int _FSDKIMPORT_ FSDK_GetFaceTemplateUsingEyes(HImage Image, FSDK_Features * eyeCoords, FSDK_FaceTemplate * FaceTemplate);
- int _FSDKIMPORT_ FSDK_MatchFaces(FSDK_FaceTemplate * FaceTemplate1, FSDK_FaceTemplate * FaceTemplate2, float * Similarity);
- int _FSDKIMPORT_ FSDK_GetMatchingThresholdAtFAR(float FARValue, float * Threshold);
- int _FSDKIMPORT_ FSDK_GetMatchingThresholdAtFRR(float FRRValue, float * Threshold);
- int _FSDKIMPORT_ FSDK_GetDetectedFaceConfidence(int * Confidence);
- // Webcam usage
- int _FSDKIMPORT_ FSDK_SetHTTPProxy(char * ServerNameOrIPAddress, unsigned short Port, char * UserName, char * Password);
- int _FSDKIMPORT_ FSDK_OpenIPVideoCamera(FSDK_VIDEOCOMPRESSIONTYPE CompressionType, char * URL, char * Username, char * Password, int TimeoutSeconds, int * CameraHandle);
- int _FSDKIMPORT_ FSDK_CloseVideoCamera(int CameraHandle);
- int _FSDKIMPORT_ FSDK_GrabFrame(int CameraHandle, HImage * Image);
- int _FSDKIMPORT_ FSDK_InitializeCapturing(void);
- int _FSDKIMPORT_ FSDK_FinalizeCapturing(void);
- #if defined( _WIN32 ) || defined ( _WIN64 )
- typedef struct {
- int Width;
- int Height;
- int BPP;
- } FSDK_VideoFormatInfo;
- int _FSDKIMPORT_ FSDK_SetCameraNaming(bool UseDevicePathAsName);
- int _FSDKIMPORT_ FSDK_GetCameraList(wchar_t *** CameraList, int * CameraCount);
- int _FSDKIMPORT_ FSDK_GetCameraListEx(wchar_t *** CameraNameList, wchar_t *** CameraDevicePathList, int * CameraCount);
- int _FSDKIMPORT_ FSDK_FreeCameraList(wchar_t ** CameraList, int CameraCount);
- int _FSDKIMPORT_ FSDK_GetVideoFormatList(wchar_t * CameraName, FSDK_VideoFormatInfo ** VideoFormatList, int * VideoFormatCount);
- int _FSDKIMPORT_ FSDK_FreeVideoFormatList(FSDK_VideoFormatInfo * VideoFormatList);
- int _FSDKIMPORT_ FSDK_SetVideoFormat(wchar_t * CameraName, FSDK_VideoFormatInfo VideoFormat);
- int _FSDKIMPORT_ FSDK_OpenVideoCamera(wchar_t * CameraName, int * CameraHandle);
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
- VC++开发人脸识别
- VC++开发人脸识别
- 人脸识别 iOS开发
- 基于VC的人脸识别软件(识别出人脸五官)
- 微信开发——人脸识别 & 车牌识别 & 语言识别
- 人脸检测和识别开发过程
- 人脸检测和识别开发过程
- OpenCV4Android开发 人脸识别篇
- C++开发人脸性别识别总结
- iOS开发技术之人脸识别
- C++开发人脸性别识别教程
- 基于TensorFlow开发人脸识别
- 基于SnapDragonBoard410c开发的人脸识别
- 基于vc++2008托管代码开发Windows Vista语音识别
- VC++基于微软语音引擎开发语音识别总结
- VC++基于微软语音引擎开发语音识别总结
- VC 下Microsoft Speech SDK开发语音识别
- VC++基于微软语音引擎开发语音识别总结
- hdu1163(求n的n次方的位根)
- Ext.net 数字输入框NumberField属性设置
- Hibernate自动建表
- 一个计算机专业学生几年的编程经验汇总 (该系列一共 11 篇,看完之后,java 基础绝对有不小的提升!)
- ubuntu系统下wireshark普通用户抓包设置
- VC++开发人脸识别
- 方法参数out(简单的实现int.Tyrparse()方法)
- .net 中 dataset和datareader的区别
- C/S框架和B/S框架的区别?
- SVM支持向量机(Support Vector Machine)-翻译版
- js给table每个tr添加双击事件
- 织梦轻量级mvc框架笔记
- 在n个数中找到和为t的所有组合,阿里笔试题目
- 【数学题】【网络流】风扇 blower ural1765