Как использовать Lire Search с параметром для поиска изображений
Я инициализирую свою библиотеку лир с изображениями, каждое изображение имеет собственный image_id и group_id. То, что я хочу, это искать с некоторыми неизвестными изображениями в этой библиотеке, т.е. я вызываю функцию поиска lire для отправки изображения и group_id, чтобы получить только одно и то же изображение с этим group_id в библиотеке (это могут быть одни и те же изображения, но с другим group_id, также имеют разные image_id, этот image_id для меня важно, как ключ в моей БД, чтобы найти дополнительную информацию).
Можно искать просто без group_id, чтобы получить все изображения из всех групп, а затем отфильтровать результаты с помощью group_id в моей функции. Но я хочу знать, возможно ли это сделать со стороны лиры.
Вот мой код C# для поиска изображений из библиотеки лиры:
public List<LDoc> Search(Bitmap image, string group_id)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, ImageFormat.Bmp);
byte[] byteImage = ms.ToArray();
String imageBase64String = Convert.ToBase64String(byteImage);
List<LDoc> docs = null;
string m = null;
string requestHandler = "/lireq";
Dictionary<string, string> dict = new Dictionary<string, string>
{
{ "fl", "*" },
{ "ms", "false" },
{ "field", "cl" }, //lire search signature
{ "accuracy", "0.85" },
{ "candidates", "1000" },
{ "image", "image" }, //lire search entry
{ "rows", "10" },
{ "wt", "json" }
};
var bytes = Encoding.UTF8.GetBytes(imageBase64String);
using (var content = new System.IO.MemoryStream(bytes))
{
m = _connection.PostStream(requestHandler, "text/xml; charset=utf-8", content, dict);
}
docs = Newtonsoft.Json.JsonConvert.DeserializeObject<LStruct7>(m).Response.Docs;
return docs;
}
Пожалуйста, дайте мне знать, как определить условия с моим group_id, чтобы получать только изображения из группы. Большое спасибо!
С уважением, Иван