首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows - MatchTemplate上的Golang和GoCV导致异常

windows - MatchTemplate上的Golang和GoCV导致异常
EN

Stack Overflow用户
提问于 2021-10-16 03:43:56
回答 1查看 135关注 0票数 0

在尝试使用GoCV库中的MatchTemplate函数时,我遇到了以下问题。

代码语言:javascript
复制
Exception 0x20474343 0x17dfa24eb60 0x7ffca1fd59c6 0x7ffca6fd4f99
PC=0x7ffca6fd4f99

runtime: unknown pc 0x7ffca6fd4f99
stack: frame={sp:0x194f1ff0b0, fp:0x0} stack=[0x0,0x194f1ff9e0)
...
...
...
goroutine 1 [syscall]:
runtime.cgocall(0xcdf650, 0xc000123dc8)
        C:/Program Files/Go/src/runtime/cgocall.go:156 +0x4a fp=0xc000123da0 sp=0xc000123d68 pc=0xb640aa
gocv.io/x/gocv._Cfunc_MatchTemplate(0x17dfa218a30, 0x17dfa24e9b0, 0x17dfa24ea20, 0x5, 0x17dfa24ea90)
        _cgo_gotypes.go:5195 +0x52 fp=0xc000123dc8 sp=0xc000123da0 pc=0xcd1292
gocv.io/x/gocv.MatchTemplate.func1({0x17dfa218a30, {0x0, 0xdf3498, 0xef84a0}}, {0x17dfa24e9b0, {0x0, 0xcdbaf0, 0xc000123e98}}, 0xc000123e98, 0x5, ...)
        C:/Users/zachw/go/pkg/mod/gocv.io/x/gocv@v0.28.0/imgproc.go:673 +0xcf fp=0xc000123e18 sp=0xc000123dc8 pc=0xcd202f
gocv.io/x/gocv.MatchTemplate({0x17dfa218a30, {0x0, 0x7cee6480140, 0xb9c932}}, {0x17dfa24e9b0, {0x0, 0xc000056000, 0x300000002}}, 0xc000056000, 0x5, ...)
        C:/Users/zachw/go/pkg/mod/gocv.io/x/gocv@v0.28.0/imgproc.go:673 +0x79 fp=0xc000123e98 sp=0xc000123e18 pc=0xcd1ed9
main.main()
...
...
...

代码非常简单,我正在读取2个PNG文件,然后将它们传递给MatchTemplate函数。我不确定可能出了什么问题。

代码语言:javascript
复制
func main() {
    haystack_img := gocv.IMRead("./test.png", gocv.IMReadUnchanged)
    needle_img := gocv.IMRead("./test2.png", gocv.IMReadUnchanged)
    img := gocv.NewMat()
    gocv.MatchTemplate(haystack_img, needle_img, &img, gocv.TmCcoeffNormed, gocv.NewMat())

    window := gocv.NewWindow("Hello")

    for {
        window.IMShow(img)
        window.WaitKey(1)
    }
}

GoCV和OpenCV版本:

代码语言:javascript
复制
$ go run cmd/version/main.go
gocv version: 0.28.0
opencv lib version: 4.5.3

Go版本:go version go1.17.2 windows/amd64

操作系统:Windows 10

目的:只是想弄清楚如何在Golang中使用OpenCV。去玩玩。我正在尝试拍摄一张较小的图像,看看它是否位于另一张图像中。

EN

回答 1

Stack Overflow用户

发布于 2021-10-16 13:45:07

您可以使用gocv.DrawMatches()和gocv.NewBFMatcher()

特征匹配

使用SIFT算法匹配图像中的特征。https://github.com/hybridgroup/gocv/blob/release/cmd/feature-matching/main.go

Img-相似度计算和比较一对图像的感知散列,使用各种算法。https://github.com/hybridgroup/gocv/blob/master/cmd/img-similarity/main.go

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69592475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档