轮廓检测:
轮廓检测的原理通俗的说就是掏空内部点,比如原图中有3*3的矩形点。那么就可以将中间的那一点去掉。
一.关键函数
1.1 cvFindContours
函数功能:对图像进行轮廓检测,这个函数将生成一条链表以保存检测出的各个轮廓信息,并传出指向这条链表表头的指针。
函数原型:
int cvFindContours(
CvArr* image, 第一个参数表示输入图像,必须为一个8位的二值图像
CvMemStorage* storage, 第二参数表示存储轮廓的容器。为CvMemStorage类型,定义在OpenCV的\core\types_c.h中
CvSeq** first_contour, 第三个参数为输出参数,这个参数将指向用来存储轮廓信息的链表表头
int header_size=sizeof(CvContour), 第四个参数表示存储轮廓链表的表头大小,当第六个参数传入CV_CHAIN_CODE时,
要设置成sizeof(CvChain),其它情况统一设置成sizeof(CvContour)。
int mode= CV_RETR_LIST, 第五个参数为轮廓检测的模式,有如下取值:
CV_RETR_EXTERNAL : 只检索最外面的轮廓;
CV_RETR_LIST: 检索所有的轮廓,并将其保存到一条链表当中;
CV_RETR_C