我想找到使用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()
看起来宽度和高度值对应于非旋转椭圆周围的矩形区域:
在上图中,黑色像素代表以下几点(从左下方开始逆时针方向):
角度= 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和视图框中的后续显示(依赖于中心点)之间的延迟,并且我当前使用的方法似乎是计算中心的低效方法。