VectorOfVec3f circles = new VectorOfVec3f();
//Mat element = new Mat(, Size(13, 13));
//Cv2.ImShow("Demo", source);
//element = new Mat();
//element=
Cv2.HoughCircles(tempImage, HoughMethods.Gradient, 1.5, 50, 100, 100, 0, 0);
for (int i = 0; i < circles.Size; i++)
{
加黑一段的代码不知道这么写才对,求大神解惑,或者有没有opencvsharp的相关学习资料提供也相当感谢。
首先,简单搜了一下,我没找到 opencvsharp的文档,没有用过c#调用opencv的库,但是学习方面从性能和资料上考虑你最好还是用c++来写
如果你只会c语言也没关系,opencv上不会需要你会高级的用法,c++并不那么难学,而且后面用到qt也很方便
第二个,你用霍夫变换会返回给你圆心坐标,你写的形式很像python的用法,python的是直接返回圆心坐标的数组里面了。
看你写的函数是返回类型匹不匹配的问题,element就是你要的circles,具体用什么类型的变量,你看看你的编译器或者opencvsharp reference手册
所以这一段代码,element是nx3维数组,前两维即element[n][0],element[n][1]是圆心,另外一维element[n][2]是半径.
Point类型是2维数组,element[n][0],element[n][1]用cvRound后的值给Point类型的center [0],center[1],剩下的看你想干什么了