小编use*_*733的帖子

如何在CMake中使用OpenCV的测试框架?

看起来OpenCV有一个基于GTest 的测试框架.他们将它用于自己的单元测试,但是我找不到关于如何在OpenCV之外使用它的文档,示例或教程.

它非常适合我打算在基于OpenCV的库上实现的测试,但我真的不知道从哪里开始,因为我不是CMake的专家(构建我们的库).

我非常感谢帮助设置某种"Hello ts World",即如何配置主CMakeList.txt和测试目录中的那个,以便运行类似于模块的test子目录中的测试(例如核心的测试文件夹)

c++ opencv unit-testing cmake

11
推荐指数
1
解决办法
2650
查看次数

在源文件中指定包含前缀与在编译器的搜索路径参数中指定包含前缀有何优缺点?

当 C 或 C++ 库附带多个标头时,它们通常位于特定文件夹中。例如,OpenCV在一个文件夹中提供了cv.h和。highgui.hopencv

包含它们的最常见方法是将此opencv文件夹添加到预编译器的搜索路径中(例如gcc -I/pathto/opencv),并简单地按源文件中的文件名包含标头(例如#include <cv.h>

还有一种替代方案,因为包含标头的文件夹与其他文件夹(例如,在开发团队的公共路径中或开发团队的某些公共路径中)经常位于/usr/include父文件夹中。#include <opencv/cv.h>在这种情况下,如果父文件夹已在路径中,则在源文件中指定头文件夹(例如 )就足够了。

我能想到的这种替代方案的唯一问题是所有标头都位于单个文件夹中的系统的情况。然而,这种替代方案可以防止歧义(例如,如果两个库都有一个vector.h标头),使得设置另一个构建系统变得更容易,并且对于预编译器搜索头文件来说可能更有效。

鉴于这种分析,我倾向于替代方案,但我在互联网上找到的绝大多数代码都使用第一种。例如,Google 返回大约 218000 个结果"#include <cv.h>",而返回 79100 个结果"#include <opencv/cv.h>"。我是否错过了普通方法的优点或替代方法的缺点?

c c++ compiler-construction

3
推荐指数
1
解决办法
1686
查看次数

QML Camera 的无效/未定义 mediaobject 属性

我正在尝试创建一个用 C++ 定义的 QML 项,它会在 QML 中的帧CameraVideoOutput. 就像是:

Window {
    Camera {
        id: camera
    }

    MyFrameinterceptor {
        id: myprocessing
        source: camera.mediaObject
    }

    VideoOutput {
        id: feedback
        source: myprocessing
    }
}
Run Code Online (Sandbox Code Playgroud)

根据此注释,项目的mediaObject 属性Camera可用于访问Camera.

但是,当我尝试从 QML 访问 mediaObject 时,例如

Text {
    text: qsTr(camera.mediaObject.objectName)
}
Run Code Online (Sandbox Code Playgroud)

当我TypeError: Cannot read property 'objectName' of undefined 尝试使用 C++ 中的camera.mediaObject 属性时,我收到类似的消息,让我认为 mediaObject 未定义、未初始化或不存在。

我是 Qt 的新手,所以我可能会错过一些非常愚蠢的东西,比如启动相机或其他什么......但我对一个MediaPlayer项目有同样的问题

如何从 C++ 访问 QML Camera 的 mediaObject?

c++ qt qml qt5 qtmultimedia

3
推荐指数
1
解决办法
819
查看次数

标签 统计

c++ ×3

c ×1

cmake ×1

compiler-construction ×1

opencv ×1

qml ×1

qt ×1

qt5 ×1

qtmultimedia ×1

unit-testing ×1