代码问题汇总

Q1:

ubuntu opencv 读取图片数据为空!
工程文件夹的结构:src文件夹放源文件,bin文件夹放生成的可执行文件,data文件夹放需要的图片。
源文件中的部分代码:

srcImg = imread("./data/hello.jpg");
imshow("",srcImg);

经过cmake编译通过后,进入bin目录,输入如下命令来运行可执行文件

./hello

报错!

OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file ..\..\..\..\opencv\modules\highgui\src\window.cpp, line 26

A1:

原因就是工程目录执行文件时当前目录之间的关系没有理清楚。
总之要保证合适的路径,能够正确读取图片。
所以有两种方法:
1.源文件不变,回到工程目录,运行bin/hello
2.改动源文件为:srcImg = imread("../data/hello.jpg");,然后在bin目录下,运行bin/hello
3.读取数据时采用绝对路径

Q2:

Ubuntu下安装多个版本的OpenCV,使用CMAKE可以进行管理;
比如,2.4.11默认安装在路径:

/usr/local/include 
/usr/local/lib
/usr/local/bin
/usr/local/share

A2:

然后安装3.2.0,其中cmake ..时要选择自己的安装路径:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON  -D WITH_V4L=ON -D CMAKE_INSTALL_PREFIX= /home/fqy/dependency/opencv320 ..

一般情况下,只有一个版本的OpenCV,在工程的CMakelists.txt中:

find_package( OpenCV )

在本文的多版本情况下,想要使用3.2.0,在工程的CMakelists.txt中加上一句:

set(CMAKE_PREFIX_PATH "/home/fqy/dependency/opencv320/")
find_package( OpenCV )

参考链接:
ubuntu 安装使用多版本opencv

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值