Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 未定义的引用;cv::optflow::createOptFlow_DualTVL1(); 我已经成功安装了 GOCV包,我尝试运行C++代码,我在我的GO项目中用C库包了它。但是当我尝试调用cv::optflow::createOptFlow\u DualTVL1()方法时,似乎出现了问题。我得到了未定义的引用错误。我不知道为什么,因为在optflow.hpp文件中有一个方法叫做createOptFlow\u DualTVL1()_Opencv_Go - Fatal编程技术网

Opencv 未定义的引用;cv::optflow::createOptFlow_DualTVL1(); 我已经成功安装了 GOCV包,我尝试运行C++代码,我在我的GO项目中用C库包了它。但是当我尝试调用cv::optflow::createOptFlow\u DualTVL1()方法时,似乎出现了问题。我得到了未定义的引用错误。我不知道为什么,因为在optflow.hpp文件中有一个方法叫做createOptFlow\u DualTVL1()

Opencv 未定义的引用;cv::optflow::createOptFlow_DualTVL1(); 我已经成功安装了 GOCV包,我尝试运行C++代码,我在我的GO项目中用C库包了它。但是当我尝试调用cv::optflow::createOptFlow\u DualTVL1()方法时,似乎出现了问题。我得到了未定义的引用错误。我不知道为什么,因为在optflow.hpp文件中有一个方法叫做createOptFlow\u DualTVL1(),opencv,go,Opencv,Go,这是我的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(){ }

这是我的
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(){

}
注意:
密集流.h
是我声明的
calculate4vl1()
函数,该函数调用
createOptFlow\u DualTVL1()
内部
密集流.cpp
文件

操作系统和版本:Ubuntu 18.04

使用的OpenCV版本:4.0.0

使用的GoCV版本:0.18


Go版本:1.12

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

实际上,我尝试使用的算法不是该模块的一部分。这就是为什么我在C中包装C++代码的原因。我试图在GO中使用。未定义的引用错误表示,链接器需要一个带有实现的对象:*.O或*.Obj.*.a或*.LIB。此函数的实现在此处:。您是否需要链接opencv_optflow库。如果我的/usr/local/include目录中有所有内容,我不明白它怎么会找不到?因为我运行了一个使用opencv_视频的测试程序,它可以正常工作。不知道现在发生了什么。