如何从pyqtgraph EllipseROI中检索旋转椭圆的中心?

时间:2018-03-28 18:27:26

标签: python pyqtgraph

我想找到使用pyqtgraph EllipseROI创建的椭圆的中心,使用以下命令生成:

open class Super
class Sub : Super()
val sub: Sub = Super() //Compile Error: Type mismatch: inferred type is Super but Sub was expected

一旦用户移动并旋转椭圆,就可以从手柄中检索一些信息以确定新位置:

val sup: Super = Sub()

看起来宽度和高度值对应于非旋转椭圆周围的矩形区域:

Non-Rotated Ellipse Rotated Ellipse

在上图中,黑色像素代表以下几点(从左下方开始逆时针方向):

  1. [x0,y0]
  2. [x0 + width,y0]
  3. [x0 +宽度,y0 +高度]
  4. [x0,y0 + height]
  5. 角度= 0的椭圆的中心只是[x0 + width / 2,y0 + height / 2]。对于旋转的椭圆,我可以通过围绕点[x0,y0]旋转对应于角度= 0的椭圆的中心来找到中心:

    import pyqtgraph as pg
    ...
    ellipse = pg.EllipseROI(pos = [200, 200], size=125, pen='r', movable=True)
    

    我是否遗漏了一个简单的解决方案,可以从EllipseROI(或任何pyqtgraph ROI)中快速检索中心位置,该位置首先不需要检索非旋转ROI的边界框点,然后旋转它们的中心?我想最小化用户调整ROI和视图框中的后续显示(依赖于中心点)之间的延迟,并且我当前使用的方法似乎是计算中心的低效方法。

0 个答案:

没有答案