我已经从https://github.com/hybridgroup/gocv成功安装了gocv软件包,并且正在尝试运行包装在Go项目中C库中的C++代码。但是当我尝试调用cv::optflow::createOptFlow_DualTVL1()方法时似乎出现了问题。我收到未定义的引用错误。我不知道为什么,因为在optflow.hpp文件中有一种称为createOptFlow_DualTVL1()的方法

这是我的main.go文件:

package main

/*
#cgo LDFLAGS: -L/usr/local/lib -lopencv_core -lopencv_video -lopencv_videoio -lopencv_highgui -lopencv_tracking -lopencv_optflow
#include "dense_flow.h"
*/
import (
       "C"
       "gocv.io/x/gocv"
)

func main(){

}

注意: dense_flow.h是我声明了CalculateT4VL1()函数的地方,该函数调用createOptFlow_DualTVL1()文件中的dense_flow.cpp

操作系统和版本:Ubuntu 18.04

使用的OpenCV版本:4.0.0

使用的GoCV版本:0.18

转到版本:1.12

最佳答案

此光流从contrib模块导入。
您需要高级导入(https://github.com/hybridgroup/gocv/tree/master/contrib):“gocv.io/x/gocv/contrib”

关于opencv - 未定义对 “cv::optflow::createOptFlow_DualTVL1()”的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55111936/

10-12 04:49