在以下程序中,我需要从cvPoint值中找到坐标的x和y值。

for(int i=0; i<nomdef; i++)
{
    if(defectArray[i].depth > 40 )
    {
        con=con+1;

        cvLine(src, *(defectArray[i].start), *(defectArray[i].depth_point),CV_RGB(255,255,0),1, CV_AA, 0 );
        cvCircle(src, *(defectArray[i].depth_point), 5, CV_RGB(0,0,255), 2, 8,0);
        cvCircle(src, *(defectArray[i].start), 5, CV_RGB(0,255,0), 2, 8,0);
        cvLine(src, *(defectArray[i].depth_point), *(defectArray[i].end),CV_RGB(0,255,255),1, CV_AA, 0 );
        cvDrawContours(src,defects,CV_RGB(0,0,0),CV_RGB(255,0,0),-1,CV_FILLED,8);
    }
}

使用这些点绘制圆。我需要从这些点获取x和y坐标。缺陷数组是由CvConvexityDefect* defectArray创建的。

最佳答案

如果您的点对象的名称是myPoint,则可以按以下方式访问其x和y值:

int x = myPoint.x ;
int y = myPoint.y ;

你可以写
int x = *(defectArray[i].start).x ;
int y = *(defectArray[i].start).y ;

关于c++ - 如何从cvPoint分别获取x和y坐标到int?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43509419/

10-11 01:44