NSInternalInconsistencyException berselang-seli apabila menggunakan gocv pada macOS

WBOY
Lepaskan: 2024-02-06 11:00:07
ke hadapan
991 orang telah melayarinya

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

Kandungan soalan

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)
Salin selepas log masuk

Saya mendapat ralat ini:

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

Saya benar-benar keliru kerana ralat ini tidak berlaku setiap kali


Jawapan betul


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()
}
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan