Saya mempunyai kod menggunakan gocv (menyediakan pengikatan bahasa go untuk opencv). Ia hanya melukis beberapa segi empat tepat pada imej dan memaparkan hasilnya.
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)
Saya mendapat ralat ini:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
Saya benar-benar keliru kerana ralat ini tidak berlaku setiap kali
Saya tidak menggunakan perpustakaan ini tetapi nampaknya ia adalah isu yang diketahui - dan, kerana anda menyebutnya Ia hanya berlaku kadang-kadang, jadi ia kelihatan seperti ralat bergantung pada konteks benang. Jawapan di sana (dari pengarang perpustakaan) menunjukkan kepada https://github.com/golang/go/wiki/lockosthread, jadi pakej utama anda harus melaksanakan sesuatu yang serupa
func init() { runtime.LockOSThread() }
Atas ialah kandungan terperinci NSInternalInconsistencyException berselang-seli apabila menggunakan gocv pada macOS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!