有人能帮我把opencv代码转换成javacv吗?

有人能帮我把opencv代码转换成javacv吗?,java,opencv,conventions,javacv,Java,Opencv,Conventions,Javacv,我发现了一些可以识别特定图像中圆圈的代码,我能够将其中90%的代码转换成javacv。但不幸的是,我无法将下面的行转换为javacv。那么,有人能帮我把这行代码转换成javacv吗 CvSeq circles = cvHoughCircles(gry, mem, CV_HOUGH_GRADIENT, 1, 40.0, 100, 100,0,0); cvCvtColor(canny, rgbcanny, CV_GRAY2BGR); for (int i = 0; i < circles-&

我发现了一些可以识别特定图像中圆圈的代码,我能够将其中90%的代码转换成javacv。但不幸的是,我无法将下面的行转换为javacv。那么,有人能帮我把这行代码转换成javacv吗

CvSeq circles = cvHoughCircles(gry, mem, CV_HOUGH_GRADIENT, 1, 40.0, 100, 100,0,0);
cvCvtColor(canny, rgbcanny, CV_GRAY2BGR);

for (int i = 0; i < circles->total; i++)
{
 // round the floats to an int
 float* p = (float*)cvGetSeqElem(circles, i);
 cv::Point center(cvRound(p[0]), cvRound(p[1]));
 int radius = cvRound(p[2]);

 // draw the circle center
 cvCircle(img, center, 3, CV_RGB(0,255,0), -1, 8, 0 );

 // draw the circle outline
 cvCircle(img, center, radius+1, CV_RGB(0,0,255), 2, 8, 0 );

 printf("x: %d y: %d r: %d\n",center.x,center.y, radius);
} 
CvSeq圆=cvhough圆(gry、mem、CV_-HOUGH_梯度,1,40.0、100、100,0,0);
CVTColor(canny、rgbcanny、CV_GRAY2BGR);
对于(int i=0;itotal;i++)
{
//将浮点数四舍五入为整数
float*p=(float*)cvGetSeqElem(圆,i);
cv::点中心(cvRound(p[0]),cvRound(p[1]);
int radius=cvRound(p[2]);
//画圆心
CV圆(img,中心,3,CV_RGB(0255,0),-1,8,0);
//画圆的轮廓
CV圆(img,中心,半径+1,CV_RGB(0,0255),2,8,0);
printf(“x:%d y:%d r:%d\n”,中心x,中心y,半径);
} 

我只需要知道如何转换for循环中的5行代码。请分享你的经验。谢谢

好吧,我不打算为您转换这些代码(我不知道JavaCV),但这里有一些有用的链接供您使用:

  • -这是你应该读的第一本书
  • -在此归档文件中有文件
    samples/HoughLines.java
    。它非常类似于houghcirles.java,它从repo中被删除
  • -此存档文件包含文件
    OpenCV2\u Cookbook/src/OpenCV2\u Cookbook/chapter07/ex4houghtcircles.scala
    。下面是这个文件中的部分代码:

//在canny轮廓图像上绘制线条
val colorDst=cvCreateImage(cvGetSize(src),src.depth(),3)
CVT颜色(src、colorDst、CV_GRAY2BGR)
为了
// Draw lines on the canny contour image
val colorDst = cvCreateImage(cvGetSize(src), src.depth(), 3)
cvCvtColor(src, colorDst, CV_GRAY2BGR)
for (i <- 0 until circles.total) {
    val point = new CvPoint3D32f(cvGetSeqElem(circles, i))
    val center = cvPointFrom32f(new CvPoint2D32f(point.x, point.y))
    val radius = math.round(point.z)
    cvCircle(colorDst, center, radius, CV_RGB(255, 0, 0), 1, CV_AA, 0)
    print(point)
}
show(colorDst, "Hough Circles")