首頁 > 後端開發 > Golang > 主體

在 macOS 上使用 gocv 時間歇性出現 NSInternalInconsistencyException

WBOY
發布: 2024-02-06 11:00:07
轉載
964 人瀏覽過

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

問題內容

我有使用 gocv 的程式碼(為 opencv 提供 go 語言綁定)。 它只是在圖像上繪製一些矩形並顯示結果。

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)
登入後複製

我收到此錯誤:

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

我真的很困惑,因為這個錯誤並不是每次都會發生


正確答案


#我沒有使用過這個函式庫,但看起來這是一個已知問題 - 而且,由於您提到它只是有時發生,所以聽起來該錯誤確實取決於線程上下文。那裡的答案(來自庫作者)指向 https://github.com/golang/go /wiki/lockosthread,所以你的主套件應該實現類似的東西

func init() {
    runtime.LockOSThread()
}
登入後複製

以上是在 macOS 上使用 gocv 時間歇性出現 NSInternalInconsistencyException的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!