gpt4 book ai didi

java - Java 中使用 JavaCV 的 OpenCV 语句的等价物

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:14:44 28 4
gpt4 key购买 nike

我想知道如何使用 JavaCV 在 OpenCV 中构造以下 C++ 语句:

float* p = (float*)cvGetSeqElem(circles, i);
int radius = cvRound(p[2]);

使用 cvHoughCircles() 获取检测到的圆的半径。显然 Java 不使用指针,所以我不知道如何在 Java 中执行此操作。到目前为止我的代码,所以你可以看到它的上下文:

lines = cvHoughCircles(frame2, storage, CV_HOUGH_GRADIENT, 1, 50, 300, 60, 10, 600);
for (int i = 0; i < lines.total(); i++) {
//Would like the code to go here
CvPoint2D32f point = new CvPoint2D32f(cvGetSeqElem(lines, i));
cvCircle(src, cvPoint((int)point.x(), (int)point.y()), 3, CvScalar.WHITE, -1, 8, 0);
Point p = new Point((int)point.x(), (int)point.y());
points.add(p);
}

最佳答案

JavaCPP 将 C/C++ 数组/指针映射到指针对象,因此我们可以以与 C/C++ 中相同的方式访问它,即:

FloatPointer p = new FloatPointer(cvGetSeqElem(circles, i));
int radius = Math.round(p.get(2));

关于java - Java 中使用 JavaCV 的 OpenCV 语句的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344503/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com