delphi xe LuxandFaceSDK8 对比图片 代码
时间: 2023-10-15 17:05:32 浏览: 100
图片对比代码
5星 · 资源好评率100%
以下是使用Delphi XE和Luxand FaceSDK 8比较两个图像的示例代码:
```delphi
uses LuxandFaceSDK;
function CompareImages(Image1, Image2: TBitmap): Integer;
var
hImage1, hImage2: HBITMAP;
FSDKImage1, FSDKImage2: FSDK.TFSDKImage;
Face1, Face2: FSDK.TFSDKFace;
Score: Double;
begin
Result := -1;
// 将图像转换为 FSDKImage
hImage1 := Image1.Handle;
FSDK.TFSDKImage.FromHBitmap(hImage1, FSDKImage1);
hImage2 := Image2.Handle;
FSDK.TFSDKImage.FromHBitmap(hImage2, FSDKImage2);
// 检测并获取第一个图像中的脸部
if FSDK.FSDK_FaceDetection(FSDKImage1, @Face1) <> FSDK.FSDKE_OK then
Exit;
// 检测并获取第二个图像中的脸部
if FSDK.FSDK_FaceDetection(FSDKImage2, @Face2) <> FSDK.FSDKE_OK then
Exit;
// 比较两个脸部
if FSDK.FSDK_MatchFaces(@Face1, @Face2, Score) = FSDK.FSDKE_OK then
Result := Round(Score * 100);
end;
```
该函数将两个位图作为参数传递,并返回一个整数,表示两个图像的匹配度。如果返回值为-1,则表示比较失败。
请注意,此代码假定您已经初始化了FaceSDK并且有一个有效的许可证。
阅读全文