在OpenCV里用drawContours画轮廓

在OpenCV里,找到物体的轮廓是最常用的功能,为什么这样说呢?因为太多的应用要使用这个功能了,比如数物体的个数,在种子实验室里常常要使用计算种子的个数,这时就需要拍照种子的照片,然后根据照片来数出种子的个数,以便以后计算种子的发芽率。又比如农业上的应用,大家都喜欢吃虾,但是虾苗的培育是需要很高的技术,所以养成年虾和虾苗的农户就不一样了。在买卖虾苗的过程中,由于虾苗的个头比较小,需要大量人工来数虾苗的个数,这时就可以采用拍照的方式,在虾苗的照片再找到轮廓的个数,就可以点算虾苗了。又比如养猪专业户里,如果有数万头小猪,当喂食时,怎么样判断所有小猪都过来吃了呢?其实这种情况里也是可以采用拍照的方式,在照片里数猪的轮廓个数,如果轮廓的数量与养的猪数量一样,说明所有小猪都来吃饭了,说明所有小猪是健康的。在找到轮廓之后,往往需要把轮廓标记出来,这个标记就需要使用drawContours函数,这个函数的定义如下:

其中第一个参数image表示目标图像,即是需要在里面画轮廓的图像;

 

第二个参数contours表示输入的轮廓组,每一组轮廓由坐标点列表构成;

 

第三个参数contourIdx指明画第几个轮廓,如果该参数为负值,则画全部轮廓;

猜你喜欢

转载自blog.csdn.net/caimouse/article/details/103695051
今日推荐