1、先提取图像的边界信息。
2、我在前面已经说明,长轴为150、短轴为100,因此可以直接检测这种形状的椭圆。
3、上面的结果可以帮助我确定椭圆的中心点:x,y=np.where(acc==np.max(acc))于是可以绘制椭圆:cv2.ellipse(img0,(y[0],x[0]),(150,100),0,0,360,(0,0,255),2)# 中心 轴长 颜色完美!
4、如果检测一个不存在的椭圆,会有什么后果?长轴150、短轴120,可以看到没有明显的极值点。看下图,椭圆有一部分与虚构的椭圆很切合,而,问题就出在这里。
5、如果椭圆偏转30度,上面的检测方法就不足以实现目标。
6、opencv检测椭圆,需要先检测图像的轮廓。很快就可以检测出这个椭圆。