如下代码,霍夫变换检测到圆并用cvcircle画出圆后,怎么输出圆心坐标?希望写出具体c++代码

图片说明
才学c++和opencv,真心求教!

 (*itc)[0],(*itc)[1]

这个就是圆心坐标啊。

(*itc)[0],(*itc)[1]是point类型的,肯定不能直接cout啊,point。x point。y才能直接输出嘛

cout<<"圆心坐标x= "<<cvRound(p[0])<<endl<<"圆心坐标y= "<<cvRound(p[1])<<endl;
cout<<"半径="<<cvRound(p[2])<<endl; 这就是圆心输出语句啊

line[1], 表示什么呢?

#include
#include
#include
using namespace std;
int main()
{
IplImage* src = NULL;
IplImage* dst = NULL;
IplImage* color = NULL;

src = cvLoadImage ("d:\image12.bmp", 1);
dst = cvCreateImage (cvGetSize(src), IPL_DEPTH_8U, 1);
if (src->nChannels == 1)
{
dst = cvCloneImage (src);
}
else
{
cvCvtColor (src, dst, CV_RGB2GRAY);
}

CvMemStorage* storage = cvCreateMemStorage (0);
cvSmooth (dst, dst, CV_GAUSSIAN, 5, 5);

CvSeq* circles = cvHoughCircles (dst, storage, CV_HOUGH_GRADIENT, 2, dst->width / 3, 300, 100, 0, 200);
color = cvCreateImage (cvGetSize(src), IPL_DEPTH_8U, 3);
cvCvtColor (dst, color, CV_GRAY2RGB);
for (int i = 0; i < circles->total; i++)
{
float* p = (float*)cvGetSeqElem (circles, i);
CvPoint pt = cvPoint (cvRound(p[0]), cvRound(p[1]));
cvCircle (color, pt, cvRound(p[2]), CV_RGB(255, 0, 0), 3, 8, 0);

cvLine( color, pt, line[1], CV_RGB(255,0,0), 3, 8 );//draw Radius
//cvCircle (color, pt, , CV_RGB(255, 0, 0), 3, 4, 0);//draw Circle center
cout<<"圆心坐标x= "<<cvRound(p[0])<<endl<<"圆心坐标y= "<<cvRound(p[1])<<endl;
cout<<"半径="<<cvRound(p[2])<<endl;
}

cvNamedWindow ("src", 1);
cvShowImage ("src", src);
cvNamedWindow ("circle", 1);
cvShowImage ("circle", color);

cvWaitKey (0);

cvReleaseMemStorage (&storage);
cvReleaseImage (&src);
cvReleaseImage (&dst);
cvReleaseImage (&color);

return 0;}