gpt4 book ai didi

c++ - cv::viz::Widget 是否可点击? (OpenCV C++)

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:21:36 25 4
gpt4 key购买 nike

我看到可以有 an event handler for mouse click in viz , 但不是 Widget 的等价物.

有没有什么方法可以使用 viz::MouseEvent() 返回的 Point 来检测对小部件的点击?

最佳答案

不,小部件不可点击。

您可以:

  1. 获取鼠标事件
  2. 检查点击是否类型 == MouseButtonPress
  3. 获取窗口中发生点击的点
  4. 使用 converTo3DRay 获取代表点击的所有 3D 深度的射线
  5. 迭代您的小部件以寻找交叉点。每个小部件之王的交集计算方式不同。

getWidgetPose 为您提供引用相机的姿势。 getWidgetPose(...).translation() 为您提供小部件所在的位置。如果您对此翻译不满意,可以应用 converTo3DRay。

如果您发现很多小部件,您可以按 z 坐标排序(越低,越靠近相机)。它适用于点,其他几何体更难。

关于c++ - cv::viz::Widget 是否可点击? (OpenCV C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40391399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com