def TencentFaceDetect(filepath: str): img = open(filepath, 'rb') # 对图像进行base64编码 base64_data = base64.b64encode(img.read()) # 对原图像进行base64解码,得到所处理图像 image = base64_data.decode() # 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey cred = credential.Credential(APP_ID, APP_KEY) # 实例化一个http选项,可选的,没有特殊需求可以跳过。 httpProfile = HttpProfile() # 指定接入地域域名(默认就近接入) httpProfile.endpoint = "iai.tencentcloudapi.com" # 实例化一个client选项,可选的,没有特殊需求可以跳过。 clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile # 实例化请求产品的client对象,clientProfile是可选的。 client = iai_client.IaiClient(cred, "ap-beijing") #, clientProfile) # 实例化一个实例信息查询请求对象,每个接口都会对应一个request对象。 req = models.DetectFaceRequest() # 定义参数。 支持以标准json格式的string来赋值请求参数的方式。 params = {"MaxFaceNum": 10, "Image": image, "NeedFaceAttributes": 1} req.from_json_string(json.dumps(params)) # 通过client对象调用DetectFace方法发起请求。 resp = client.DetectFace(req) # 输出json格式的字符串回包 out = resp.to_json_string() # 将json格式返回值转为字典 face_dict = json.loads(out) # 遍历人脸信息列表,返回性别、位置等信息 for item in face_dict['FaceInfos']: yield (item['FaceAttributesInfo']['Gender'], item['X'], item['Y'], item['Width'], item['Height'])
def checking(picpath, sid, skey): # search person fdata=open(picpath).read() pic_b64=base64.b64encode(fdata) from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.iai.v20180301 import iai_client, models try: cred = credential.Credential(sid, skey) httpProfile = HttpProfile() httpProfile.endpoint = "iai.tencentcloudapi.com" clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile client = iai_client.IaiClient(cred, "", clientProfile) req = models.SearchFacesRequest() params = '{"GroupIds":["test_001"],"Image":"%s","MaxFaceNum":10}'%pic_b64 req.from_json_string(params) resp = client.SearchFaces(req) return True, json.loads(resp.to_json_string()) except TencentCloudSDKException as err: print(err) return False, err
def renlian(): try: cred = credential.Credential("AKIDeBWfdSkh2EE3gMzDMNDrKUTHwY3TjngO", "TmvypUxEJCzf9RWP5QegWDkBQUN4d4MU") httpProfile = HttpProfile() httpProfile.endpoint = "iai.tencentcloudapi.com" clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile client = iai_client.IaiClient(cred, "ap-guangzhou", clientProfile) req = models.VerifyFaceRequest() ###获取图片转换格式 img = '{"Url":"http://www.gzywwl.com/4.png","PersonId":"001"}' data = json.loads(img) data['Url'] = request.args.get('url') getdata = json.dumps(data) params = str(getdata) req.from_json_string(params) resp = client.VerifyFace(req) data = resp.to_json_string() ##输出为dict/json并判断 bllon = json.loads(data) print(bllon) print(bllon['IsMatch']) if bllon['IsMatch'] == True: req = requests.get(url='http://127.0.0.1:5000/mqtt') return "renl ok " else: return "renl nok " except TencentCloudSDKException as err: print(err) return "renl notok "
def test_iai_create_person(): cred = credential.Credential(os.environ.get("TENCENTCLOUD_SECRET_ID"), os.environ.get("TENCENTCLOUD_SECRET_KEY")) client = iai_client.IaiClient(cred, "ap-guangzhou") req = models.CreatePersonRequest() req.GroupId = "1" req.PersonName = "foo" req.PersonId = "3" req.Gender = 1 try: resp = client.CreatePerson(req) except TencentCloudSDKException as e: assert e.code == 'InvalidParameterValue.ImageEmpty'
def __init__(self): # 实例化一个客户端配置对象,可以指定超时时间等配置 clientProfile = ClientProfile() clientProfile.signMethod = "TC3-HMAC-SHA256" # 指定签名算法 # 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey self.cred = credential.Credential(secretId, secretKey) # 实例化要请求产品(以cvm为例)的client对象 self.client = iai_client.IaiClient(self.cred,'ap-chengdu',clientProfile) # 实例化一个请求对象 self.req = models.DetectFaceRequest() self.req.FaceModelVersion = "3.0" self.req.NeedFaceAttributes = 1
def getres(url): try: cred = credential.Credential("AKIDSmxtbmRO0Pn45tqeeZHjW6SZXFpLZbOy", "UmodLn1ziCbkkX5U1MRM4a3GQOAnwrV6") httpProfile = HttpProfile() httpProfile.endpoint = "iai.tencentcloudapi.com" clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile client = iai_client.IaiClient(cred, "ap-chongqing", clientProfile) req = models.SearchFacesRequest() params = '{"GroupIds":["1"],"Url":"' + url + '"}' req.from_json_string(params) resp = client.SearchFaces(req) return resp except TencentCloudSDKException as err: return err
from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.iai.v20180301 import iai_client, models try: cred = credential.Credential("AKIDJURAfzrvcTBeroQ0EC0e3DBuRikbHTSC", "e5GB1g5E8mCMG3cv0pPlrjT7YkmZ9U25") httpProfile = HttpProfile() httpProfile.endpoint = "iai.tencentcloudapi.com" clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile client = iai_client.IaiClient(cred, "ap-guangzhou", clientProfile) req = models.DetectFaceRequest() params = '{"Url":"https://wechat.sshug.cn:21243/static/face_imgs/face_detect/tmp.jpg"}' req.from_json_string(params) resp = client.DetectFace(req) print(resp.to_json_string()) except TencentCloudSDKException as err: print(err)
def __init__(self, ak_id, ak_secret, version='3.0'): cred = credential.Credential(ak_id, ak_secret) self.client = iai_client.IaiClient(cred, 'ap-shenzhen') self.version = version