Maison  >  Article  >  développement back-end  >  NSInternalInconsistencyException intermittente lors de l'utilisation de gocv sur macOS

NSInternalInconsistencyException intermittente lors de l'utilisation de gocv sur macOS

WBOY
WBOYavant
2024-02-06 11:00:07942parcourir

在 macOS 上使用 gocv 时间歇性出现 NSInternalInconsistencyException

Contenu de la question

J'ai du code utilisant gocv (fournit des liaisons de langage Go pour opencv). Il dessine simplement quelques rectangles sur l'image et affiche le résultat.

func main() {
resp, err := http.get("http://localhost:6060/template-match")
if err != nil {
    panic(err)
}

defer resp.body.close()
body, err := ioutil.readall(resp.body)
if err != nil {
    panic(err)
}
fmt.println(string(body))
var data response
err = json.unmarshal(body, &data)
if err != nil {
    panic(err)
}
srcimage := gocv.imread("./images/src1.jpg", gocv.imreadcolor)
for i := 0; i < len(data.data); i++ {
    gocv.rectangle(&srcimage, data.data[i], color.rgba{r: 255}, 2)
}
window := gocv.newwindow("match-result")
window.imshow(srcimage)
gocv.waitkey(0)
fmt.println(data.data, data.msg)

J'obtiens cette erreur :

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'

Je suis vraiment confus car cette erreur ne se produit pas à chaque fois


Réponse correcte


Je n'ai pas utilisé cette bibliothèque mais il semble que ce soit un problème connu - et, puisque vous l'avez mentionné, cela n'arrive que Parfois, il semble que l'erreur dépende du contexte du thread. La réponse ici (de l'auteur de la bibliothèque) pointe vers https://github.com/golang/go/wiki/lockosthread, donc votre package principal devrait implémenter quelque chose de similaire

func init() {
    runtime.LockOSThread()
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer