Detect Objects Including Types and Locations in an Image using Go
1 min readMar 25, 2022
Our Object Detection API can be used to identify the position, size and description of objects in an image. This goes for both people and objects, so there are a variety of use cases. Included below in this article is ready-to-run code in Go from our API Console page, so you can easily implement this into your project by simply copying & pasting:
Node.JS Python C# Java PHP Objective-C Ruby Apex C/C++ cURL Swift JavaScript Go
package mainimport (
"fmt"
"bytes"
"mime/multipart"
"os"
"path/filepath"
"io"
"net/http"
"io/ioutil"
)func main() {url := "https://api.cloudmersive.com/image/recognize/detect-objects"
method := "POST"payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
file, errFile1 := os.Open("/path/to/file")
defer file.Close()
part1,
errFile1 := writer.CreateFormFile("imageFile",filepath.Base("/path/to/file"))
_, errFile1 = io.Copy(part1, file)
if errFile1 != nil {
fmt.Println(errFile1)
return
}
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "multipart/form-data")
req.Header.Add("Apikey", "YOUR-API-KEY-HERE")req.Header.Set("Content-Type", writer.FormDataContentType())
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
It’s just as easy as that. If you’re in need of a Cloudmersive API key, you can easily get one by creating a free account on our website — www.cloudmersive.com.