以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教百度AI相似图像C#的代码怎么转成FT  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149919)

--  作者:alanwu
--  发布时间:2020/5/15 11:55:00
--  请教百度AI相似图像C#的代码怎么转成FT

@有点蓝 老师能指导一下吗?谢谢

引用Dll和全局变量,全局代码都设好了,可以获取到key
想做一个本地库和百度图像搜索库同步增删改

相似图检索—入库

该接口实现单张图片入库,入库时需要同步提交图片及可关联至本地图库的摘要信息(具体变量为brief,具体可传入图片在本地标记id、图片url、图片名称等);同时可提交分类维度信息(具体变量为tags,最多可传入2个tag),方便对图库中的图片进行管理、分类检索。**注:重复添加完全相同的图片会返回错误。**

public void SimilarAddDemo() {
	var image = File.ReadAllBytes("图片文件路径");
	// 调用相似图检索—入库, 图片参数为本地图片,可能会抛出网络等异常,请使用try/catch捕获
	var result = client.SimilarAdd(image);
	Console.WriteLine(result);
	// 如果有可选参数
	var options = new Dictionary<string, object>{
	    {"brief", "{\\"name\\":\\"周杰伦\\", \\"id\\":\\"666\\"}"},
	    {"tags", "100,11"}
	};
	// 带参数调用相似图检索—入库, 图片参数为本地图片
	result = client.SimilarAdd(image, options);
	Console.WriteLine(result);
}
public void SimilarAddUrlDemo() {
	var url = "http//www.x.com/sample.jpg";
	
	// 调用相似图检索—入库, 图片参数为远程url图片,可能会抛出网络等异常,请使用try/catch捕获
	var result = client.SimilarAddUrl(url);
	Console.WriteLine(result);
	// 如果有可选参数
	var options = new Dictionary<string, object>{
	    {"brief", "{\\"name\\":\\"周杰伦\\", \\"id\\":\\"666\\"}"},
	    {"tags", "100,11"}
	};
	// 带参数调用相似图检索—入库, 图片参数为远程url图片
	result = client.SimilarAddUrl(url, options);
	Console.WriteLine(result);
}

相似图检索—入库 请求参数详情

参数名称是否必选类型说明
imagebyte[]二进制图像数据
urlstring图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少50px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
briefstring检索时原样带回,最长256B。
tagsstring1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索

相似图检索—入库 返回数据参数详情

字段是否必选类型说明
log_iduint64唯一的log id,用于问题定位
cont_signstring输入图片签名,可用于删除

相似图检索—入库 返回示例

{
    "log_id": 2263663554,
    "cont_sign": "4261577168,501945506"
}

--  作者:有点蓝
--  发布时间:2020/5/15 12:12:00
--  
参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=139788

转换代码参考:https://converter.telerik.com/

--  作者:alanwu
--  发布时间:2020/5/15 12:33:00
--  
能详细点吗?这个字典参数怎么做?分别定义,再合成?
var options = new Dictionary<string, object>{
	    {"brief", "{\\"name\\":\\"周杰伦\\", \\"id\\":\\"666\\"}"},
	    {"tags", "100,11"}
[此贴子已经被作者于2020/5/15 12:34:04编辑过]

--  作者:有点蓝
--  发布时间:2020/5/15 13:31:00
--  
2楼的实例里有同样的用法啊

dim options as new Dictionary(of string, object)
options.add("brief","{""name"":""周杰伦"", ""id"":""666""}")
options.add("tags","100,11")