- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经在 Ubuntu 16.04 上安装了 OpenCV 3.3.0。只想编译这段代码。
#include <iostream>
using namespace std;
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"
#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <cmath>
using namespace cv;
int main(int argc, char* argv[])
{
try
{
int kernel_size = 3;
cv::Mat src_host = cv::imread("crack2.jpg");
cv::Mat gray_img, avg, kernel;
cv::gpu::GpuMat dst, src;
src.upload(src_host);
cv::gpu::threshold(src, dst, 128.0, 255.0, CV_THRESH_BINARY);
cv::Mat result_host;
dst.download(result_host);
std::cout<< "Done!!!" <<std::endl;
}catch(const cv::Exception& ex)
{
std::cout<<"Error: " << ex.what() << std::endl;
}
return 0;
}
g++ -o main gpu_thresh.cpp 'pkg-config opencv --cflags --libs' -lopencv_gpu -lopencv_core
g++ -L/usr/local/lib -o main gpu_thresh.cpp 'pkg-config opencv --cflags --libs' -lopencv_gpu -lopencv_core
我尝试用这些方法编译它,但仍然给出相同的警告和错误。
/usr/bin/ld: warning: libopencv_core.so.2.4, needed by /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libopencv_gpu.so, may conflict with libopencv_core.so.3.3 /usr/bin/ld: /tmp/ccdhLGL0.o: undefined reference to symbol '_ZN2cv3gpu6GpuMat7releaseEv' //usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status
我该怎么办?
最佳答案
OpenCV 3.3 中没有opencv2/gpu/gpu.hpp
。如果您的代码可以编译,则意味着您的机器上同时安装了 OpenCV 2.4 和 3.3。
在 OpenCV 3.3 中,包括:
#include <opencv2/core/cuda.hpp>
然后使用
cv::cuda::GpuMat img;
查看详情 here .
编辑:我刚刚注意到你的编译方法。使用 pkg-config opencv --cflags --libs
时,您不再需要手动添加 libopencv 文件。
只需执行:g++ -o main gpu_thresh.cpp 'pkg-config opencv --cflags --libs'
关于c++ - libopencv_core.so.2.4 : error adding symbols: DSO missing from command line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46025725/
我使用JavaCV 1.1。我已将 jar 文件(javacv.jar、javacpp.jar 和 opencv.jar)和 *.so 库添加到 Android Studio 中的项目中。我在 And
有点迷茫。我设置了所有必需的库路径,但仍然有加载共享库错误。当我输入时从终端 >>pkg-config --libs opencv -L/usr/local/lib -lopencv_cudabgse
加载共享库时出错:libopencv_core.so.3.0:无法打开共享对象文件:没有这样的文件或目录。 我在 ubuntu 14.04 上使用 eclipse c/c++ ide。尝试了我从谷歌获
我最近在运行 Ubuntu 15.04 的机器上安装了 OpenCV 3.0,以通过 python 进行一些视频操作。我在安装时遇到了一些初始问题,最终分别安装了 2.4 和 3.0 版本,每次尝试之
我想在我的 Android 应用程序中使用 JavaCv。因此我听从了这里的建议:https://github.com/bytedeco/javacv关于如何安装 Android 2.2 或更新版本。
我使用的是 Ubuntu 12.04。我最初安装的是 opencv 3.0-beta 版本。由于某些原因,我在使用命令卸载旧版本后切换回旧版本 2.4.9: $> sudo make uninstal
我正在尝试在 Ubuntu 14.04 上安装适用于 Python 的 OpenCV 3.0,但在多次安装(并读取 StackOverflow 页面)之后,它仍然无法正常工作。 在 Python (P
我正在尝试在 Scientific Linux SL 版本 5.0 (Boron) 上设置支持 FFMPEG v0.11 的 OpenCV v2.4.1,但我遇到了一个似乎完全没有记录的丢失文件的问题
我在 hadoop 中工作,当我为我的图像处理程序创建可运行的 jar 时,突然发生了这个错误,它与 opencv native 库路径有关 在使用 eclipse 时我可以设置路径: //Syste
我最近安装了Opencv-2.4.6我写了一个鸟瞰图转换的代码(不是最终代码)。在Opencv(2.4.3)的早期版本中,它正在被执行。 现在我在运行时遇到错误。 **加载共享库时出错:libopen
我通过 apt-get 安装了 openCV 库。我正在尝试安装 BGSLibrary 并且 cmake 文件试图找到“/usr/local/lib/libopencv_core.so.3.4.0”脚
我正在使用 android 和 openCV 开发一个人脸识别应用程序。我的android studio版本是3.5.3,openCV版本是3.4.10。我运行应用程序的手机是arm64-v8a,我收
我的电脑是CentOS系统,我尝试安装caffe。安装一些依赖项后。我运行 $make all,然后它返回以下警告: NVCC src/caffe/solvers/sgd_solver.cu NVCC
我对 Objective C 和 Xcode 还是很陌生,但我刚刚完成了一个使用 openCV libopencv_core.2.4.2.dylib 的小应用。 当我在另一台机器上打开最终构建的应用程
我正在尝试使用以下 CMAKE 选项构建 opencv: cmake -D CMAKE_BUILD_TYPE=DEBUG -D CMAKE_INSTALL_PREFIX=/home/luca/Drop
我已经在 Ubuntu 16.04 上安装了 OpenCV 3.3.0。只想编译这段代码。 #include using namespace std; #include "opencv2/openc
我刚刚在我的 Debian 机器上安装了 OpenCV,但遇到了一些问题。我遵循了 Wiki 上的安装指南。尝试编译示例给出了似乎是成功的编译,但是尝试运行它们最终会抛出错误: fagg@hubble
我遇到了以下问题: /Users/luke/Desktop/trainHOG/trainhog ;导出; dyld:库未加载:lib/libopencv_core.3.0.dylib 引用自:/Use
我使用 javacv 在 java 中编写了运动检测代码,它在 Windows 上完美运行,但在 Ubuntu 13.04 中它显示这样的错误,请为此提出解决方案,我也附加了代码 代码 /* * T
我在 ubuntu 12.04 中编译并安装了 openCV 2.4.2。在 /usr/local/include 下我可以看到目录 /usr/local/opencv 和 /usr/local/op
我是一名优秀的程序员,十分优秀!