使用C++、opencv查找轮廓的内切圆
相关API:
double threshold(InputArray src, OutputArray dst, double thresh,double maxval, int type)
threshold()函数的作用是根据阈值对图像进行二值化
第一个参数,InputArray类型的src,输入数组,填单通道,8或32位浮点类型的Mat即可。
第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放输出结果,且和第一个参数中的Mat变量有一样的尺寸和类型。
第三个参数,double类型的 thresh,阈值的具体值。
第四个参数,double类型的 maxval,当第五个参数阙值类型type取CV_THRESH_BINARY或 CV_THRESH_BINARY_INV时阈值类型时的最大值。
第五个参数,int类型的type,阙值类型。threshold函数支持的对图像取阈值的方法由其确定,具体用法见下图。
更多的阈值操作可查看博客:https://blog.csdn.net/u012566751/article/details/77046445
void findContours( InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int method, Point offset = Point() )
findContours()函数用于查找图像中的轮廓
第一个参数, InputArray类型的 Image,输入图像,即源图像,填Mat类的对象即可,且需为8位单通道图像。图像的非零像素被视为1,0像素值被保留为0,所以图像为二进制。我们可以使用 compare()、 inran