Я хочу найти изображение по существующим изображениям в моем приложении clarifai, используя мой код.
Я вызываю Clarifai API из моего кода Java и получаю ответ успешно.
Однако я не получаю действительный URL изображения в ответ.Кто-нибудь может направить меня на случай, если я что-то не так делаю?
мой код Java указан ниже
public List<String> startClarifaiCall() {
List<String> imageURLList = new ArrayList<String>();
int resultSize = 0;
String clarifaiURLImage = "";
ClarifaiClient client = new ClarifaiBuilder("4d9d30e02e5c4caaa4eb5cf2d18a28c2").buildSync();
ClarifaiResponse<SearchInputsResult> clarifaiResponse =
client.searchInputs(
SearchClause.matchImageVisually(
ClarifaiImage.of("http://kathycooperfloorcloths.com/images/artfloorlargebluesuzanni.jpg")))
.getPage(1).executeSync();
System.out.println("Response JSON: "+ clarifaiResponse.rawBody());
if(clarifaiResponse.isSuccessful()) {
System.out.println("responce success: "+clarifaiResponse.getStatus().description());
System.out.println("responce code: "+clarifaiResponse.getStatus().statusCode());
SearchInputsResult inputsResult = clarifaiResponse.get();
resultSize = inputsResult.searchHits().size();
System.out.println("resultSize: "+resultSize);
for ( SearchHit searchHit : inputsResult.searchHits()) {
System.out.println("searchHit id: "+searchHit.input().id());
System.out.println("searchHit score: "+searchHit.score());
clarifaiURLImage = searchHit.input().inputValue().toString();
//clarifaiURLImage = "image\":{\"url\":\"https://s3.amazonaws.com/clarifai-api/img3/prod/small/0649bfb9dbd74c969f8227719abf8f56/a10468ad49606451bd2881d1deba8476\"}";
clarifaiURLImage = clarifaiURLImage.substring(clarifaiURLImage.indexOf("https"), clarifaiURLImage.lastIndexOf('}'));
System.out.println("searchHit ClarifaiURLImage: "+clarifaiURLImage);
if(searchHit.score()>=0.7) {
imageURLList.add(clarifaiURLImage);
}
}
System.out.println("\n");
} else {
System.out.println("responce failure: "+clarifaiResponse.getStatus().description());
System.out.println("error details: "+clarifaiResponse.getStatus().errorDetails());
}
return imageURLList;
}
Я получил вывод ниже.Но URL-адрес изображения не действительная ссылка на изображение:
responce success: Ok
responce code: 10000
resultSize: 3
searchHit id: 3abd65d787a9486cad467e0d33bd2214
searchHit score: 0.71550095
searchHit ClarifaiURLImage: https://s3.amazonaws.com/clarifai-api/img3/prod/small/0649bfb9dbd74c969f8227719abf8f56/a10468ad49606451bd2881d1deba8476
searchHit id: e36bd9a71fc54de4acd39b511aca5e3c
searchHit score: 0.7147794
searchHit ClarifaiURLImage: https://s3.amazonaws.com/clarifai-api/img3/prod/small/0649bfb9dbd74c969f8227719abf8f56/4ee2739d9dbed1358298aa9e9a65a422
searchHit id: 8b543b3639ed440185b0886a5a3a6001
searchHit score: 0.71341443
searchHit ClarifaiURLImage: https://s3.amazonaws.com/clarifai-api/img3/prod/small/0649bfb9dbd74c969f8227719abf8f56/15a31caa8d3cbdc65e4e7a63a242ffb9
Может ли кто-нибудь помочь в случае, если я что-то не так делаю.