C++ 如何在OpenCV中将点传递给cvFitEllipse2
我是OpenCV新手,我有一个CGPoints数组,我需要将这些值传递给cvFitEllipse2,如何传递这些值?现在我得到例外,如果我通过如下C++ 如何在OpenCV中将点传递给cvFitEllipse2,c++,iphone,opencv,C++,Iphone,Opencv,我是OpenCV新手,我有一个CGPoints数组,我需要将这些值传递给cvFitEllipse2,如何传递这些值?现在我得到例外,如果我通过如下 std::vector<cv::Point> contours; contours.resize(self.points.count); for(int i = 0 ; i < self.points.count ; i++) { CGPoint point = [self.point
std::vector<cv::Point> contours;
contours.resize(self.points.count);
for(int i = 0 ; i < self.points.count ; i++)
{
CGPoint point = [self.points objectAtIndex:i];
cv::Point val;
val.x = point.x;
val.y = point.y;
contours[i] = val;
}
CvBox2D rect = cvFitEllipse2(&contours);
std::矢量轮廓;
等高线。调整大小(self.points.count);
对于(int i=0;i
试试这个:
std::vector<cv::Point> contours;
contours.resize(self.points.count);
for(int i = 0 ; i < self.points.count ; i++)
{
CGPoint point = [self.points objectAtIndex:i];
cv::Point val;
val.x = point.x;
val.y = point.y;
contours[i] = val;
}
cv::RotatedRect rect = cv::fitEllipse(contours);
std::矢量轮廓;
等高线。调整大小(self.points.count);
对于(int i=0;i
之后,可以将rotatedRect转换为所需的类型
如果要将C API用于fitEllipse调用,必须根据将向量转换为CvSeq*
或CvMat*
,尝试以下操作:
std::vector<cv::Point> contours;
contours.resize(self.points.count);
for(int i = 0 ; i < self.points.count ; i++)
{
CGPoint point = [self.points objectAtIndex:i];
cv::Point val;
val.x = point.x;
val.y = point.y;
contours[i] = val;
}
cv::RotatedRect rect = cv::fitEllipse(contours);
std::矢量轮廓;
等高线。调整大小(self.points.count);
对于(int i=0;i
之后,可以将rotatedRect转换为所需的类型
如果要将C API用于fitEllipse调用,必须根据将向量转换为CvSeq*
或CvMat*
,尝试以下操作:
std::vector<cv::Point> contours;
contours.resize(self.points.count);
for(int i = 0 ; i < self.points.count ; i++)
{
CGPoint point = [self.points objectAtIndex:i];
cv::Point val;
val.x = point.x;
val.y = point.y;
contours[i] = val;
}
cv::RotatedRect rect = cv::fitEllipse(contours);
std::矢量轮廓;
等高线。调整大小(self.points.count);
对于(int i=0;i
之后,可以将rotatedRect转换为所需的类型
如果要将C API用于fitEllipse调用,必须根据将向量转换为CvSeq*
或CvMat*
,尝试以下操作:
std::vector<cv::Point> contours;
contours.resize(self.points.count);
for(int i = 0 ; i < self.points.count ; i++)
{
CGPoint point = [self.points objectAtIndex:i];
cv::Point val;
val.x = point.x;
val.y = point.y;
contours[i] = val;
}
cv::RotatedRect rect = cv::fitEllipse(contours);
std::矢量轮廓;
等高线。调整大小(self.points.count);
对于(int i=0;i
之后,可以将rotatedRect转换为所需的类型
如果要使用C API进行fitEllipse调用,必须根据将向量转换为
CvSeq*
或CvMat*
,请使用cv::fitEllipse,而不是神秘的C-API调用请使用cv::fitEllipse,不是神秘的C-API调用请使用cv::fitEllipse,而不是神秘的C-API调用请使用cv::fitEllipse,不是神秘的c-api调用