EmguCV: ограничивающий прямоугольник эллипса
На изображении выше у меня есть набор точек (синий), и моя цель - получить зеленый прямоугольник, в частности правую, левую, верхнюю и нижнюю координаты этого прямоугольника. Это не повернутый ограниченный прямоугольник эллипса. Эллипс - это метод наименьших квадратов из набора точек.
В настоящее время я могу найти желтый прямоугольник, который является не повернутым прямоугольником из набора точек, используя функцию Emgu.CV.PointCollection.BoundingRectangle, а также красный прямоугольник, который является представлением повернутого прямоугольника эллипса из EmguCV's Ellipse. Функция.MCvBox2D.
Есть идеи, как найти зеленый прямоугольник?
Код для получения эллипса, красного и желтого прямоугольника приведен ниже (точки находятся в массиве точек, называемых edgePA):
//Get Least-Square Fit Ellipse
Ellipse elps = PointCollection.EllipseLeastSquareFitting(edgePA);
//Rotated Rectangle of Ellipse
MCvBox2D boundR2 = elps.MCvBox2D;
//Bounding Rectangle of Points
Rectangle boundR = PointCollection.BoundingRectangle(edgePA);