Visual Studio2022 opencv编译viz功能注意

with_vtk选择之后,才会有下面的viz选项

编译完成后vtk的dll也要复制到和opencv中的dll一起

c++ opencv viz测试代码

#include <opencv2/viz.hpp>
#include <opencv2/core.hpp>
#include <iostream>

int main()
{
    // 创建一个Viz窗口
    cv::viz::Viz3d window("Viz Test");

    // 创建一个坐标系
    cv::viz::WCoordinateSystem coord(1.0);
    window.showWidget("Coordinate", coord);

    // 创建一个球体
    cv::Point3d sphere_center(0.0, 0.0, 0.0);
    double sphere_radius = 0.2;
    cv::viz::WSphere sphere_widget(sphere_center, sphere_radius, 10, cv::viz::Color::red());
    window.showWidget("Sphere", sphere_widget);

    // 创建一个立方体
    cv::Affine3d cube_pose = cv::Affine3d().translate(cv::Vec3d(0.5, 0.5, 0.0));
    cv::viz::WCube cube_widget(cv::Point3f(-0.1f, -0.1f, -0.1f), cv::Point3f(0.1f, 0.1f, 0.1f), true, cv::viz::Color::blue());
    window.showWidget("Cube", cube_widget, cube_pose);

    // 设置摄像机
    window.setViewerPose(cv::viz::makeCameraPose(cv::Vec3d(1,1,1), cv::Vec3d(0,0,0), cv::Vec3d(0,0,1)));

    // 主循环
    while (!window.wasStopped())
    {
        window.spinOnce(1, true);
    }

    return 0;
}

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐