Visual Studio2022 opencv编译viz功能注意
with_vtk选择之后,才会有下面的viz选项
编译完成后vtk的dll也要复制到和opencv中的dll一起


c++ opencv viz测试代码

cpp
#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;
}