华为云API人脸识别服务FRS的感知力—偷偷藏不住的你

news2025/1/19 8:06:02

云服务、API、SDK,调试,查看,我都行

阅读短文您可以学习到:人工智能AI人脸的识别、检测、搜索、比对

1、IntelliJ IDEA 之API插件介绍

API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。API插件关联华为云服务下的 API Explorer、DevStar、CodeLabs、SDK 中心和 CLI 中心产品,致力于为开发者提供更稳定、快速、安全的编程体验。

在本插件中,我们提供了但不局限于如下的功能:

对接华为云API开放平台,支持用户检索API、查看API文档、调试API、以及提供SDK示例代码供用户学习如何使用API。

提供华为云SDK代码片段补全功能,SDK依赖包自动引入,加速用户集成华为云API。

对接华为云开发体验馆Codelabs,提供500+云服务代码示例,向导式教程帮助用户快速学习。

说明:

在IntelliJ IDEA等系列平台和VS Code IDE,华为云API插件的名称是Huawei Cloud API。而在CodeArts IDE,API插件是IDE原生内置的,名称是华为云API开发套件。

API插件在IntelliJ IDEA等系列平台和VS Code IDE的使用依赖底座插件,请提前安装底座插件。

2、API插件安装--IntelliJ IDEA

2.1 IntelliJ IDEA等平台

安装准备:下载并安装JDK1.8或更高版本。下载并安装IntelliJ IDEA 2020.2或更高版本。

须知:IntellIj平台同时支撑包括Goland、Pycharm等在内的IDE,若在其它相关IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的安装流程,其他IntelliJ系列的IDE请参考IDEA。

开始安装:

您可以在直接在IDE插件市场或者直接在JetBrains插件市场下载离线包安装。

https://developer.huaweicloud.com/develop/toolkit.html

IDE安装

  1. 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
  2. Plugins区域单击Marketplace,在搜索栏中输入Huawei Cloud API。
  3. Search Results区域会出现Huawei Cloud API,单击Install,完成后重启IDE。

离线包安装:

  1. 进入插件市场搜索Huawei Cloud API,进入插件详情页,在Versions页签下选择想要版本的API插件,点击Download下载离线的插件压缩包保存到本地。。
  2. 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
  3. 在Plugins区域单击 ,再单击Install Plugin from Disk...。
  4. 在Choose Plugin File对话框中选择离线安装包(不用解压),并按照IntelliJ IDEA安装页面的提示,完成后续安装步骤。

说明:若当前您想要安装插件的IntelliJ IDE已经在桌面打开,则进入插件市场搜索Huawei Cloud API,进入插件详情页,在右上角会识别到本地已经打开的IDE,点击相应按钮,在弹出的IDE窗口中点击ok,则IDE后台会开始安装相应版本的API插件。

安装验证:在IntelliJ系列平台上安装插件成功后在左侧的导航栏中可以看到Huawei Cloud Toolkit图标,点击后面板会出现Huawei Cloud API的字样,则说明安装成功。

2.2 华为云API

Toolkit-华为云

左侧展示API列表,可以查询所有API,目前云服务206,APIs9213

3、抓住偷偷藏不住的你

3.1 前期准备

华为云提供了人脸识别服务端SDK,您可以直接集成服务端SDK来调用人脸识别服务的相关API,从而实现对人脸识别服务的快速操作。

该示例展示了如何通过Java版SDK实现人脸识别。

开发前准备:

  • 已注册华为云,并完成实名认证 。
  • 已订阅人脸识别服务。
  • 已具备开发环境,支持Java JDK 1.8及其以上版本。
  • 已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥 。
  • 已获取直播服务对应区域的项目ID,请在华为云控制台“我的凭证 > API凭证”页面上查看项目ID。具体请参见 API凭证。

安装SDK:

您可以通过Maven配置所依赖的人脸识别服务SDK

<dependency>

    <groupId>com.huaweicloud.sdk</groupId>

    <artifactId>huaweicloud-sdk-frs</artifactId>

    <version>3.1.19</version>

</dependency>

开始使用:

导入依赖模块

import com.huaweicloud.sdk.core.auth.ICredential;

import com.huaweicloud.sdk.core.auth.BasicCredentials;

import com.huaweicloud.sdk.core.exception.ConnectionException;

import com.huaweicloud.sdk.core.exception.RequestTimeoutException;

import com.huaweicloud.sdk.core.exception.ServiceResponseException;

//v2版本sdk

import com.huaweicloud.sdk.frs.v2.region.FrsRegion;

import com.huaweicloud.sdk.frs.v2.*;

import com.huaweicloud.sdk.frs.v2.model.*;

初始化认证信息

public static ICredential getCredential(String ak, String sk) {

    return new BasicCredentials()

            .withAk(ak)

            .withSk(sk);

}

相关参数说明如下所示:

ak:华为云账号Access Key。

sk:华为云账号Secret Access Key 。

初始化人脸识别服务的客户端

public static FrsClient getClient(Region region, ICredential auth) {

    // 初始化人脸识别服务的客户端

    return FrsClient.newBuilder()

            .withCredential(auth)

            .withRegion(region) // 选择服务所在区域 FrsRegion.CN_NORTH_4

            .build();

}

相关参数说明如下所示:

service region: 服务所在区域,例如:

CN_NORTH_1 北京一

CN_NORTH_4 北京四

SDK demo代码解析

3.2 人脸识别/检测

DetectFaceByBase64Request detectRequest = new DetectFaceByBase64Request();
FaceDetectBase64Req faceDetectBase64Req = new FaceDetectBase64Req();
faceDetectBase64Req.withImageBase64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
faceDetectBase64Req.withAttributes("2");
detectRequest.setBody(faceDetectBase64Req);
try {
    DetectFaceByBase64Response detectResponse = client.detectFaceByBase64(detectRequest);
    System.out.println(detectResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}
3.2.1	人脸比对
CompareFaceByBase64Request compareRequest = new CompareFaceByBase64Request();
FaceCompareBase64Req faceCompareBase64Req = new FaceCompareBase64Req();
faceCompareBase64Req.withImage1Base64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
faceCompareBase64Req.withImage2Base64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
compareRequest.withBody(faceCompareBase64Req);
try {
    CompareFaceByBase64Response compareResponse = client.compareFaceByBase64(compareRequest);
    System.out.println(compareResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

3.2.2 人脸搜索

SearchFaceByBase64Request searchRequest = new SearchFaceByBase64Request();
searchRequest.withFaceSetName("face_set_name");
FaceSearchBase64Req faceSearchBase64Req = new FaceSearchBase64Req();
List<Map<String, String>> listbodySort = new ArrayList<>();
Map<String, String> map = new HashMap<>();
map.put("timestamp","asc");
listbodySort.add(map);
List<String> listbodyReturnFields = new ArrayList<>();
listbodyReturnFields.add("timestamp");
listbodyReturnFields.add("id");
faceSearchBase64Req.withSort(listbodySort);
faceSearchBase64Req.withReturnFields(listbodyReturnFields);
faceSearchBase64Req.withImageBase64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
searchRequest.withBody(faceSearchBase64Req);
try {
    SearchFaceByBase64Response searchResponse = client.searchFaceByBase64(searchRequest);
    System.out.println(searchResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

创建人脸库

CreateFaceSetRequest createFaceSetRequest = new CreateFaceSetRequest();
CreateFaceSetReq createFaceSetReq = new CreateFaceSetReq();
createFaceSetReq.withFaceSetName("face_set_name");
Map<String, TypeInfo> stringTypeInfoMap = new HashMap<>();
TypeInfo typeInfo = new TypeInfo();
typeInfo.withType("long");
stringTypeInfoMap.put("timestamp", typeInfo);
createFaceSetReq.withExternalFields(stringTypeInfoMap);
createFaceSetRequest.withBody(createFaceSetReq);
try {
    CreateFaceSetResponse createFaceSetResponse = client.createFaceSet(createFaceSetRequest);
    System.out.println(createFaceSetResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

查询人脸库

ShowFaceSetRequest showFaceSetRequest = new ShowFaceSetRequest();
showFaceSetRequest.withFaceSetName("face_set_name");
try {
    ShowFaceSetResponse showFaceSetResponse = client.showFaceSet(showFaceSetRequest);
    System.out.println(showFaceSetResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

查询所有人脸库

ShowAllFaceSetsRequest showAllFaceSetsRequest = new ShowAllFaceSetsRequest();
try {
    ShowAllFaceSetsResponse showAllFaceSetsResponse = client.showAllFaceSets(showAllFaceSetsRequest);
    System.out.println(showAllFaceSetsResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

删除人脸库

DeleteFaceSetRequest deleteFaceSetRequest = new DeleteFaceSetRequest();
deleteFaceSetRequest.withFaceSetName("face_set_name");
try {
    DeleteFaceSetResponse deleteFaceSetResponse = client.deleteFaceSet(deleteFaceSetRequest);
    System.out.println(deleteFaceSetResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

添加人脸

//add face
AddFacesByBase64Request addFacesByBase64Request = new AddFacesByBase64Request();
addFacesByBase64Request.withFaceSetName("face_set_name");
AddFacesBase64Req addFacesBase64Req = new AddFacesBase64Req();
addFacesBase64Req.withExternalFields("{\"timestamp\":12}");
addFacesBase64Req.withImageBase64("9j/4AAQSkZJRgABAQAAAQABAAD...");
addFacesByBase64Request.withBody(addFacesBase64Req);
try {
    AddFacesByBase64Response addFacesByBase64Response = client.addFacesByBase64(addFacesByBase64Request);
    System.out.println(addFacesByBase64Response.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

删除人脸

//delete face by faceId
DeleteFaceByFaceIdRequest deleteFaceByFaceIdRequest = new DeleteFaceByFaceIdRequest();
deleteFaceByFaceIdRequest.withFaceSetName("face_set_name");
deleteFaceByFaceIdRequest.withFaceId("iexEBb6t");
try {
    DeleteFaceByFaceIdResponse deleteFaceByFaceIdResponse = client.deleteFaceByFaceId(deleteFaceByFaceIdRequest);
    System.out.println(deleteFaceByFaceIdResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

批量删除人脸

BatchDeleteFacesRequest batchDeleteFacesRequest = new BatchDeleteFacesRequest();
batchDeleteFacesRequest.withFaceSetName("face_set_name");
DeleteFacesBatchReq deleteFacesBatchReq = new DeleteFacesBatchReq();
deleteFacesBatchReq.withFilter("age:[20 TO 30]");
batchDeleteFacesRequest.withBody(deleteFacesBatchReq);
try {
    BatchDeleteFacesResponse batchDeleteFacesResponse = client.batchDeleteFaces(batchDeleteFacesRequest);
    System.out.println(batchDeleteFacesResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

更新人脸

UpdateFaceRequest updateFaceRequest = new UpdateFaceRequest();
updateFaceRequest.withFaceSetName("face_set_name");
UpdateFaceReq updateFaceReq = new UpdateFaceReq();
updateFaceReq.withFaceId("iexEBb6t");
updateFaceRequest.withBody(updateFaceReq);
try {
    UpdateFaceResponse response = client.updateFace(updateFaceRequest);
    System.out.println(response.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

查询人脸

//show faces by faceId
ShowFacesByFaceIdRequest showFacesByFaceIdRequest = new ShowFacesByFaceIdRequest();
showFacesByFaceIdRequest.withFaceSetName("face_set_name");
showFacesByFaceIdRequest.withFaceId("iexEBb6t");
try {
    ShowFacesByFaceIdResponse response = client.showFacesByFaceId(showFacesByFaceIdRequest);
    System.out.println(response.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

3.3 活体识别/检测

3.3.1 动作活体检测

//detect live by base64
DetectLiveByBase64Request request = new DetectLiveByBase64Request();
LiveDetectBase64Req body = new LiveDetectBase64Req();
body.withActions("1,2,3,4");
body.withVideoBase64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
request.withBody(body);
try {
    DetectLiveByBase64Response response = client.detectLiveByBase64(request);
    System.out.println(response.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

3.3.2默活体检测

//detect live face by base64
DetectLiveFaceByBase64Request request = new DetectLiveFaceByBase64Request();
LiveDetectFaceBase64Req body = new LiveDetectFaceBase64Req();
body.withImageBase64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
request.withBody(body);
try {
    DetectLiveFaceByBase64Response response = client.detectLiveFaceByBase64(request);
    System.out.println(response.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

3.4人脸搜索

SearchFaceByBase64Request searchRequest = new SearchFaceByBase64Request();
searchRequest.withFaceSetName("face_set_name");
FaceSearchBase64Req faceSearchBase64Req = new FaceSearchBase64Req();
List<Map<String, String>> listbodySort = new ArrayList<>();
Map<String, String> map = new HashMap<>();
map.put("timestamp","asc");
listbodySort.add(map);
List<String> listbodyReturnFields = new ArrayList<>();
listbodyReturnFields.add("timestamp");
listbodyReturnFields.add("id");
faceSearchBase64Req.withSort(listbodySort);
faceSearchBase64Req.withReturnFields(listbodyReturnFields);
faceSearchBase64Req.withImageBase64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
searchRequest.withBody(faceSearchBase64Req);
try {
    SearchFaceByBase64Response searchResponse = client.searchFaceByBase64(searchRequest);
    System.out.println(searchResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

3.5 人脸比对

CompareFaceByBase64Request compareRequest = new CompareFaceByBase64Request();
FaceCompareBase64Req faceCompareBase64Req = new FaceCompareBase64Req();
faceCompareBase64Req.withImage1Base64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
faceCompareBase64Req.withImage2Base64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
compareRequest.withBody(faceCompareBase64Req);
try {CompareFaceByBase64Request compareRequest = new CompareFaceByBase64Request();
FaceCompareBase64Req faceCompareBase64Req = new FaceCompareBase64Req();
faceCompareBase64Req.withImage1Base64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
faceCompareBase64Req.withImage2Base64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
compareRequest.withBody(faceCompareBase64Req);
try {
    CompareFaceByBase64Response compareResponse = client.compareFaceByBase64(compareRequest);
    System.out.println(compareResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}
    CompareFaceByBase64Response compareResponse = client.compareFaceByBase64(compareRequest);
    System.out.println(compareResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

4、偷偷藏不住的你

身份验证

使用人脸检测与比对功能,可进行身份核实,适用于机场、海关等人证合一验证场景。

电子考勤

人脸检测及比对功能适用于客户企业对员工进行电子考勤。

客流分析

客流分析对于商场具有重要价值。基于人脸识别、搜索技术,帮助客户精准营销。

5、参考文献

https://support.huaweicloud.com/usermanual-cbs/cbs_01_0029.html

https://console.huaweicloud.com/cbs/?region=cn-north-4#/cbs/management/skills

6、体验插件的魅力

华为云devkit已上线:https://developer.huaweicloud.com/develop/toolkit.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/982861.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

发送信息到我的眼镜上

很久很久以前&#xff0c;购得一个Vufine单目眼镜显示器&#xff0c;最近又拿它来折腾。 通过Pi4的连接&#xff0c;现在可以让任意的网友发送图文到眼镜上。 当然更理想的是通过PiZero2W再加上一个电源即可移动使用。 这里讲了实现的代码&#xff0c;总体也不太复杂。 发送…

ChatGLM2_6b安装

Chatglm2_6b安装 一、安装要求 1、硬件 能否使用,或者以什么模式使用主要取决于显卡的显存 2、能否使用AMD显卡? 可以,甚至可以使用CPU,但是需要降低精度。 以CPU模式运行大概需要32GB 内存。 二:工程与下载 官方路径工程路径: 一代工程: https://github.com/TH…

期权的具体操作步骤详解(期权盈利技巧)

做期权买卖首先我们要清楚在期权中有四个交易方向,分别是期权买方&#xff1a;认购做多&#xff0c;认沽做空&#xff0c;两者互为对手方&#xff0c;期权卖方&#xff0c;卖认购做空&#xff0c;卖认沽做多&#xff0c;只要我们明白了期权的方向即可判断做出选择&#xff0c;下…

算法 数据结构 斐波那契数列 递归实现斐波那契数列 斐波那契递归的优化 斐波那契数列递归求解 多路递归实现 斐波那契算法系列 数据结构(十一)

1. 什么是斐波那契数列&#xff1a; 之前的例子是每个递归函数只包含一个自身的调用&#xff0c;这称之为 single recursion 如果每个递归函数例包含多个自身调用&#xff0c;称之为 multi recursion 递推关系 下面的表格列出了数列的前几项 F0F1F2F3F4F5F6F7F8F9F10F11F12…

空气传导耳机哪个牌子好?市面上热销火爆的气传导耳机推荐

​传统入耳式耳机佩戴着容易滑落&#xff0c;戴不稳&#xff0c;久戴耳朵酸痛等问题&#xff0c;气传导耳机的出现就避免了这些问题的发生&#xff0c;我来推荐几款市面上热销火爆且使用感不错的气传导耳机给到大家&#xff0c;来看看吧&#xff01; 推荐1&#xff1a;NANK南卡…

[ubuntu]给WSL子系统ubuntu安一个桌面环境

sudo apt install xorg sudo apt install xfce4 sudo apt install xrdp sudo sed -i s/port3389/port3390/g /etc/xrdp/xrdp.ini sudo echo xfce4-session >~/.xsession sudo service xrdp restart 查看自己ip地址&#xff1a; ifconfig 然后在windows上任务栏搜远程桌面 …

亚马逊鲲鹏系统全自动化功能有哪些

亚马逊鲲鹏系统可以批量注册亚马逊买家号、AI智能养号、自动绑定收货地址及支付卡、开通二步验证、自动添加购物车、自动购买、自动留评、评论点赞或举报、QA等。 下面就详细介绍一下一些比较常用的自动化功能&#xff1a; 1、全自动注册 想要注册买家号&#xff0c;那么需要…

自动化测试基础知识详解

前言 有颜色的标注主要是方便记忆&#xff0c;勾选出个人感觉的重点 块引用&#xff1a;大部分是便于理解的话&#xff0c;稍微看看就行&#xff0c;主要是和正常的文字进行区分的 1、什么是自动化测试 自动化测试是软件测试活动中一个重要分支和组成部分&#xff0c;随着软…

Leetcode128. 最长连续序列

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 题解&#…

java 版本企业招标投标管理系统源码+功能描述+tbms+及时准确+全程电子化

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…

WINGREEN 034STN1-01-300-R 传感器模块

WINGREEN 034STN1-01-300-R 是一种传感器模块&#xff0c;通常用于监测和采集各种环境或过程参数的数据。以下是这种类型的传感器模块通常可能具备的一般功能和特点&#xff1a; 传感器接口&#xff1a;模块通常配备用于连接不同类型传感器的接口&#xff0c;如温度传感器、湿度…

贝塞尔曲线的一些资料收集

一本免费的在线书籍&#xff0c;供你在非常需要了解如何处理贝塞尔相关的事情。 https://pomax.github.io/bezierinfo/zh-CN/index.html An algorithm to find bounding box of closed bezier curves? - Stack Overflow https://stackoverflow.com/questions/2587751/an-algo…

Linux 中的 cfdisk 命令及示例

cfdisk命令用于在磁盘设备上创建、删除和修改分区。它通过提供基于文本的“图形”界面来显示或操作磁盘分区表。 cfdisk /dev/sda 示例: 运行后您会收到如下提示:从列表中

YOLO目标检测——昏暗车辆数据集+已标注VOC格式标签下载分享

实际项目应用&#xff1a;昏暗车辆数据集在智能交通监控系统、驾驶辅助系统、城市安全监控、自动驾驶系统以及路况分析与规划等应用场景中具有广泛的应用潜力&#xff0c;可以提高车辆检测的准确性和效率&#xff0c;提升交通安全和城市管理水平。数据集说明&#xff1a;昏暗车…

leetcode 2. 两数相加(java)

两数相加 题目描述哨兵技巧代码演示&#xff1a; 递归算法专题 题目描述 难度 - 中等 leetcode 2. 两数相加 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&…

【LeetCode-中等题】90. 子集 II

文章目录 题目方法一&#xff1a;递归加回溯&#xff08;去重版&#xff09;![在这里插入图片描述](https://img-blog.csdnimg.cn/abc4e8d0e3f940fcbdcb072acf80734e.png) 题目 本题nums数组存在重复元素&#xff0c;所以本题会涉及一个去重操作&#xff1a; 子集无需去重版本&…

redis 高可用

Redis 高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供…

不用入耳就有好音质,南卡OE Pro 0压开放式耳机

从15年第一次接触无线耳机到如今大概用过二十多款无线耳机&#xff0c;用过最多的厂牌就是南卡&#xff0c;包括主、被动降噪和骨传导等品系的数个型号&#xff0c;见证了南卡产品从早期成长探索阶段到如今设计、工艺日臻完善且形成品系&#xff0c;对南卡的技术、工艺和设计愈…

03 卷积操作图片

一、均值滤波 # 卷积操作 # 输入图片. input, 必须是4维tensor(图片数量, 图片高度, 图片的宽度, 图片的通道数) # filters, 卷积核, 必须是4维的tensor(卷积核的高度和宽度, 输入图片的通道数, 卷积核的个数) # strides, 步长, 卷积核在图片的各个维度上的移动步长, (1, 1, 1,…

28.考试

Description 小学期马上就要结束了&#xff0c;为了检验大家的学习成果&#xff0c;老师进行了一次考试。然而小徐前两周半都忙于练习篮球&#xff0c;几乎没有学习&#xff0c;因此考试时很可能做不完所有题目。 但小徐仍然想要拿到尽可能高的分数&#xff0c;因此在做题时需要…