C++ 如何从cvPoint将x和y坐标分别转换为int?

C++ 如何从cvPoint将x和y坐标分别转换为int?,c++,linux,opencv,gesture-recognition,C++,Linux,Opencv,Gesture Recognition,在下面的程序中,我需要从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 ); cv

在下面的程序中,我需要从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);
    }
} 
for(int i=0;i 40)
{
con=con+1;
cvLine(src,*(缺陷阵列[i].开始),*(缺陷阵列[i].深度点),CV_RGB(255255,0),1,CV_AA,0);
cvCircle(src,*(缺陷阵列[i].深度点),5,CV_RGB(0,0255),2,8,0);
cvCircle(src,*(defectArray[i].start),5,CV_RGB(0255,0),2,8,0);
cvLine(src,*(缺陷阵列[i]。深度点),*(缺陷阵列[i]。结束),CV_RGB(0255255),1,CV_AA,0);
CV拉伸轮廓(src,缺陷,CV_RGB(0,0,0),CV_RGB(255,0,0),-1,CV_填充,8);
}
} 

使用点绘制圆。我需要从这些点得到x和y坐标。缺陷数组是由
cvconverxitydefect*defectArray

创建的。如果点对象的名称是myPoint,则可以访问其x和y值,如下所示:

int x = myPoint.x ;
int y = myPoint.y ;
在你的情况下,你可以写作

int x = *(defectArray[i].start).x ; 
int y = *(defectArray[i].start).y ;

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

int x = myPoint.x ;
int y = myPoint.y ;
在你的情况下,你可以写作

int x = *(defectArray[i].start).x ; 
int y = *(defectArray[i].start).y ;

(defectArray+32u)->CvConvexityDefect::start'中的成员“x”请求,该成员的指针类型为“CvPoint*”(可能您打算使用“->”?)int x1=*(defectArray[1]。start)。x;我犯了个错误。。我应该怎么做?请求(defectArray+32u)->CvConvexityDefect::start)中的成员“x”,该成员的指针类型为“CvPoint*”(可能您打算使用“->”?)int x1=*(defectArray[1].start).x;我犯了个错误。。我该怎么办?