2015-10-31 174 views
0

这里我找到了找到椭圆的所有x,y坐标的方法,但我需要坐标和角度值。如何使用拟合椭圆函数及其角度获取坐标点(opencv)

代码

cv::Mat binaryImg; 
cv::threshold(grayImg, binaryImg, 100, 255, cv::THRESH_BINARY); 
std::vector<std::vector<cv::Point> > contours; 
findContours(binaryImg, contours, CV_RETR_TREE, CV_CHAIN_APPROX_NONE); 
for(size_t i = 1; i < contours.size(); i++) { 
std::vector<CvPoint> points; 
if(contours[i].size() >= 5) { 
cv::RotatedRect Ellipse = fitEllipse(contours[i]); 
majoraxis = Ellipse.size.height; 
minoraxis = Ellipse.size.width; 
angle = Ellipse.angle; 
xcenter=Ellipse.center.x; 
ycenter=Ellipse.center.y; 
for(unsigned int i=0;i<contours.size();i++){ 
    for(unsigned int j=0;j<contours[i].size();j++) 
    { 
     cout << "Point(x,y)=" << contours[i][j].x << "," << contours[i][j].y << endl; 

    }} 

这里我的形象

here my image 上面的代码找到轮廓的X,Y坐标点,但我需要的角度中心point.And它们的坐标点

回答

0

你可以使用内建函数ellipse2Poly()

相关问题