def checkFace(path0, path1): if __name__ == u'__main__': print(u'#####################################################') # init Engine pFDWorkMem = CLibrary.malloc(c_size_t(FD_WORKBUF_SIZE)) pFRWorkMem = CLibrary.malloc(c_size_t(FR_WORKBUF_SIZE)) hFDEngine = c_void_p() ret = AFD_FSDK_InitialFaceEngine(APPID, FD_SDKKEY, pFDWorkMem, c_int32(FD_WORKBUF_SIZE), byref(hFDEngine), AFD_FSDK_OPF_0_HIGHER_EXT, 32, MAX_FACE_NUM) if ret != 0: CLibrary.free(pFDWorkMem) print(u'AFD_FSDK_InitialFaceEngine ret 0x{:x}'.format(ret)) exit(0) # print FDEngine version versionFD = AFD_FSDK_GetVersion(hFDEngine) print(u'{} {} {} {}'.format(versionFD.contents.lCodebase, versionFD.contents.lMajor, versionFD.contents.lMinor, versionFD.contents.lBuild)) print(c_char_p(versionFD.contents.Version).value.decode(u'utf-8')) print(c_char_p(versionFD.contents.BuildDate).value.decode(u'utf-8')) print(c_char_p(versionFD.contents.CopyRight).value.decode(u'utf-8')) hFREngine = c_void_p() ret = AFR_FSDK_InitialEngine(APPID, FR_SDKKEY, pFRWorkMem, c_int32(FR_WORKBUF_SIZE), byref(hFREngine)) if ret != 0: AFD_FSDKLibrary.AFD_FSDK_UninitialFaceEngine(hFDEngine) CLibrary.free(pFDWorkMem) CLibrary.free(pFRWorkMem) print(u'AFR_FSDK_InitialEngine ret 0x{:x}'.format(ret)) exit(0) # print FREngine version versionFR = AFR_FSDK_GetVersion(hFREngine) print(u'{} {} {} {}'.format(versionFR.contents.lCodebase, versionFR.contents.lMajor, versionFR.contents.lMinor, versionFR.contents.lBuild)) print(c_char_p(versionFR.contents.Version).value.decode(u'utf-8')) print(c_char_p(versionFR.contents.BuildDate).value.decode(u'utf-8')) print(c_char_p(versionFR.contents.CopyRight).value.decode(u'utf-8')) # load Image Data if bUseYUVFile: filePathA = u'001_640x480_I420.YUV' yuv_widthA = 640 yuv_heightA = 480 yuv_formatA = ASVL_COLOR_FORMAT.ASVL_PAF_I420 filePathB = u'003_640x480_I420.YUV' yuv_widthB = 640 yuv_heightB = 480 yuv_formatB = ASVL_COLOR_FORMAT.ASVL_PAF_I420 inputImgA = loadYUVImage(filePathA, yuv_widthA, yuv_heightA, yuv_formatA) inputImgB = loadYUVImage(filePathB, yuv_widthB, yuv_heightB, yuv_formatB) else: filePathA = u'facedata/1.jpg' filePathB = u'facedata/2.jpg' inputImgA = loadImage(filePathA) inputImgB = loadImage(filePathB) print(u'similarity between faceA and faceB is {0}'.format( compareFaceSimilarity(hFDEngine, hFREngine, inputImgA, inputImgB))) # release Engine AFD_FSDK_UninitialFaceEngine(hFDEngine) AFR_FSDK_UninitialEngine(hFREngine) CLibrary.free(pFDWorkMem) CLibrary.free(pFRWorkMem) print(u'#####################################################')
addressof(inputImg.ppu8Plane[0].contents) + (inputImg.pi32Pitch[0] * inputImg.i32Height), c_ubyte_p) inputImg.ppu8Plane[2] = cast( addressof(inputImg.ppu8Plane[1].contents) + (inputImg.pi32Pitch[1] * inputImg.i32Height // 2), c_ubyte_p) inputImg.ppu8Plane[3] = cast(0, c_ubyte_p) inputImg.gc_ppu8Plane0 = bufferInfo.buffer return inputImg if __name__ == u'__main__': print(u'#####################################################') # init Engine pFDWorkMem = CLibrary.malloc(c_size_t(FD_WORKBUF_SIZE)) hFDEngine = c_void_p() ret = AFD_FSDK_InitialFaceEngine(APPID, FD_SDKKEY, pFDWorkMem, c_int32(FD_WORKBUF_SIZE), byref(hFDEngine), AFD_FSDK_OPF_0_HIGHER_EXT, 32, MAX_FACE_NUM) #ret 为0 if ret != 0: CLibrary.free(pFDWorkMem) print(u'AFD_FSDK_InitialFaceEngine ret 0x{:x}'.format(ret)) exit(0) #--------------------------------以上部分两个函数以及主函数的几条语句不变----------------------------------------------------------- #source = "rtsp://*****:*****@192.168.1.61/Streaming/Channels/101" #video_capture = cv2.VideoCapture(source)
addressof(inputImg.ppu8Plane[1].contents) + (inputImg.pi32Pitch[1] * inputImg.i32Height // 2), c_ubyte_p) inputImg.ppu8Plane[3] = cast(0, c_ubyte_p) inputImg.gc_ppu8Plane0 = bufferInfo.buffer t2 = time.time() print('Time on loadImage:',t2-t1) return inputImg if __name__ == u'__main__': print(u'#####################################################') # init Engine pFDWorkMem = CLibrary.malloc(c_size_t(FD_WORKBUF_SIZE)) pFRWorkMem = CLibrary.malloc(c_size_t(FR_WORKBUF_SIZE)) hFDEngine = c_void_p() ret = AFD_FSDK_InitialFaceEngine( APPID, FD_SDKKEY, pFDWorkMem, c_int32(FD_WORKBUF_SIZE), byref(hFDEngine), AFD_FSDK_OPF_0_HIGHER_EXT, 16, MAX_FACE_NUM) if ret != 0: CLibrary.free(pFDWorkMem) print(u'AFD_FSDK_InitialFaceEngine ret 0x{:x}'.format(ret)) exit(0) # print FDEngine version versionFD = AFD_FSDK_GetVersion(hFDEngine)