OpenCV第一次尝试

1. opencv在ubuntu上的配置和测试

http://blog.youkuaiyun.com/a1429331875/article/details/31539129

2. OpenCV 3.0 程序编译链接错误

问题描述

error: main.o: undefined reference to symbol ‘_ZN2cv6imreadERKNS_6StringEi’
/usr/local/OpenCV/Release/lib/libopencv_imgcodecs.so.3.0:-1: error: error adding symbols: DSO missing from command line
error: collect2: error: ld returned 1 exit status

解决方案

问题描述里已经表述得很清楚了,需要链接libopencv_imgcodecs.so,这可能是和2.x版本的一处不同。

如果问题描述为:

error: undefined reference to `cv::imread(cv::String const&, int)’

解决方法同上。

3. 编译时需要添加的库

    INCLUDEPATH += /usr/local/include \
                    /usr/local/include/opencv \
                    /usr/local/include/opencv2

    LIBS += /usr/local/lib/libopencv_highgui.so \
            /usr/local/lib/libopencv_core.so    \
            /usr/local/lib/libopencv_imgproc.so  \
            /usr/local/lib/libopencv_imgcodecs.so

4. 测试

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;

int main()
{
        namedWindow( "src");
        Mat img = imread( "/home/ld/Documents/lena.jpg" );

        if(!img.data) {
            cout<<"file not fount"<<endl;
            return 1;
        }
        else {
             imshow( "src", img );
             waitKey();
             return 0;
        }
}
### VisionMaster 首次运行时间长的原因 VisionMaster 首次启动时耗时较长可能由多个因素引起。主要原因是应用程序在初次加载过程中需要初始化大量资源并执行一系列预处理操作。 #### 资源初始化 首次启动期间,程序会加载必要的图像库和其他依赖项到内存中[^1]。对于复杂的视觉识别应用而言,这一步骤涉及大量的数据读取和解码工作,可能导致显著的时间延迟。 #### 缓存构建 为了提高后续访问速度,许多计算机视觉框架会在第一次运行时创建缓存文件或索引数据库。这些一次性开销虽然增加了初始启动时间,但却能极大提升之后的操作效率[^3]。 #### 环境适配 如果操作系统环境与软件预期存在差异(如不同版本的 OpenCV 库),则可能会触发额外的兼容性检查甚至重新编译某些组件,从而延长启动过程。 ### 解决方案建议 针对上述原因,可以采取以下措施来优化 VisionMaster 的首次启动性能: #### 提前准备必要资源 确保所有必需的数据集提前下载完毕,并放置于指定路径下以便快速定位。此外,还可以考虑预先生成部分中间结果以减少实时计算量。 ```bash # 下载所需模型权重文件至本地存储目录 wget http://example.com/models/visionmaster_weights.tar.gz -P /path/to/storage/ tar xfz visionmaster_weights.tar.gz --directory=/path/to/storage/ ``` #### 启用持久化缓存机制 通过配置参数启用更高效的磁盘级缓存策略,使得重要对象能够被保存下来供下次调用直接使用而不必每次都重建。 ```json { "cache": { "enabled": true, "type": "disk", "location": "/var/cache/visionmaster" } } ``` #### 更新开发工具链 保持所使用的第三方库处于最新稳定版状态有助于避免潜在冲突问题的发生。特别是当遇到类似 Ubuntu 20.04 中 ROS 默认集成过高版本 OpenCV 导致不匹配的情况时,应优先尝试降级安装合适版本。 ```bash sudo apt-get update && sudo apt-get install libopencv-dev=3.4.* ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值