Buenas !
El post de hoy es uno simple, y que tengo que apuntar para el futuro:
Utilizar PostMan para realizar una petición HTTP POST para analizar una imagen con un proyecto de Custom Vision alojado en un Docker container.
En mis post anteriores escribí sobre como crear y exportar un proyecto en CustomVision.ai; y también sobre como ejecutar el mismo en un contenedor Docker, y analizar una imagen desde una aplicación de Consola .NetCore.
En el post de hoy utilizare el mismo entorno, y analizare una imagen utilizando una de las herramientas mas populares entre los web developers: Postman.
Vamos a ello. Creamos una sesión en Postman y definimos la URL y el tipo POST de http request. Para enviar una imagen, debemos agregar un nuevo header para definir el Content-Type como image/jpg.
La imagen sera enviada en modo binary content en el body de la petición. Selecciono la imagen con la que realizare la prueba.
Una vez realizada la petición, podemos ver el resultado en formato JSON, con las entidades detectadas y sus frames.
Adicionalmente, podemos exportar esta sesión en código en diferentes lenguajes. Por ejemplo: C#, Java, Go o Python.
El código en python de ejemplo:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import http.client | |
conn = http.client.HTTPConnection("127,0,0,1") | |
headers = { | |
'Content-Type': "image/jpg", | |
'cache-control': "no-cache", | |
'Postman-Token': "847d04a8-0d05-4637-a056-7dbbdf10009b" | |
} | |
conn.request("POST", "image", headers=headers) | |
res = conn.getresponse() | |
data = res.read() | |
print(data.decode("utf-8")) |
Happy coding!
Saludos @ Burlington
El Bruno
References
My Posts
- Object recognition with Custom Vision and ONNX in Windows applications using WinML (1)
- Object recognition with Custom Vision and ONNX in Windows applications using WinML (2)
- Object recognition with Custom Vision and ONNX in Windows applications using Windows ML, drawing frames (3)
- Object recognition with Custom Vision and ONNX in Windows applications using Windows ML, calculate FPS (4)
- Can’t install Docker on Windows 10 Home, need Pro or Enterprise (5)
- Running a Custom Vision project in a local Docker Container (6)
- Analyzing images in a Console App using a Custom Vision project in a Docker Container (7)
Windows 10 and YOLOV2 for Object Detection Series
- Introduction to YoloV2 for object detection
- Create a basic Windows10 App and use YoloV2 in the camera for object detection
- Transform YoloV2 output analysis to C# classes and display them in frames
- Resize YoloV2 output to support multiple formats and process and display frames per second
- How to convert Tiny-YoloV3 model in CoreML format to ONNX and use it in a Windows 10 App
- Updated demo using Tiny YOLO V2 1.2, Windows 10 and YOLOV2 for Object Detection Series
- Alternatives to Yolo for object detection in ONNX format
Buenísima onda tu post! Me encantó. Una consulta. En tu caso, vos agregas el nuevo header y el file que querés cargar marcando el checkbox que corresponde a binary. Pero cómo se hace si uno quisiera cargar por ejemplo un nuevo perfil de usuario con el JSON que recibe del formulario y AGREGARLE el header con el file? Se puede hacer esto o hay que hacer 2 POST distintos? Uno para el JSON y otro para la imagen? Gracias.
LikeLike
Hey Daniel. Sorry, no entiendo lo del “nuevo perfil de usuario”.
Supongo que un solo post es suficiente siempre; la imagen va como content binary y los headers solo describen el contenido.
Saludos
LikeLike