Vuforia - reconhecimento de imagem por API #81
Unanswered
andreluiztorres
asked this question in
Perguntas e Respostas
Replies: 2 comments 2 replies
-
Pode ser que você esteja tentando enviar de forma errada, aqui tenho um método que uso para fazer upload de imagens
|
Beta Was this translation helpful? Give feedback.
1 reply
-
Se seu codigo for público eu poderia dar uma olhada assim que possível |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
SOCORRO ... no app que estou desenvolvendo, existe um módulo que apos tirar foto deve reconhecer uma imagem hospedada em Vuforia e retornar um ID. (Vuforia Query Web API).
consegui chegar até este ponto:
vuforia() async {
const boundary = "----------ThIs_Is_tHe_bouNdaRY$";
const contentType = "multipart/form-data; boundary=$boundary";
final imageBinary = await image!.readAsBytes();
// ignore: prefer_interpolation_to_compose_strings
var body = "--" +
boundary +
"\r\n" +
'Content-Disposition: form-data; name="image"; filename="image.jpg"\r\n' +
"Content-Type: image/jpeg\r\n\r\n" +
imageBinary.toString() +
"\r\n" +
"--" +
boundary +
"--\r\n";
var content = utf8.encode(body);
const md5 = crypto.md5;
var digest = md5.convert(content);
var contentMd5 = base64.encode(digest.bytes);
var verb = 'POST';
var type = 'multipart/form-data';
var date = HttpDate.format(DateTime.now());
var path = '/v1/query';
var stringToSign = '$verb\n$digest\n$type\n$date\n$path';
var signature = base64.encode(Hmac(sha1, global.clientSecretKey.codeUnits)
.convert(stringToSign.codeUnits)
.bytes);
var authorization = 'VWS ${global.clientAccessKey}:$signature';
...
Consigo receber resposta da API atuenticada, porem retorna BadImage.. ou seja .. certamente o formato que esotu enviando a imageem está no formato erado.
para chegar nesse resultado me basiei num outro fonte em NODE.JS que testei e funciona, porém a imagem é enviada usando:
fs.readFileSync(filename, 'binary')
Tentei enviar convertendo a imagem através de:
final imageBinary = await image!.readAsBytes();
mas sem sucesso.
quero muito finalizar este processo e publicar no Pub.Dev para poder ajudar a comunidade. A ferramenta é muito bacana, mas quase não existe documentação explicando como integrar ao flutter.
Muito obrigado desde já a todos.
Beta Was this translation helpful? Give feedback.
All reactions