1、threshold(...) 函数 : 阈值函数,可用于图像二值化
函数原型
参数说明
src:源图像,可以为8位的灰度图,也可以为32位的彩色图像。(两者由区别)
dst:输出图像
thresh:阈值
maxval:dst图像中最大值
type:阈值类型,可以具体类型如下:
编号 | 阈值类型枚举 | 注意 |
1 | THRESH_BINARY |
|
2 | THRESH_BINARY_INV |
|
3 | THRESH_TRUNC |
|
4 | THRESH_TOZERO |
|
5 | THRESH_TOZERO_INV |
|
6 | THRESH_MASK | 不支持 |
7 | THRESH_OTSU | 不支持32位 |
8 | THRESH_TRIANGLE | 不支持32位 |
具体如下表
2、轮廓、边缘、边界的相关函数函数
OpenCV支持大量的轮廓、边缘、边界的相关函数,相应的函数有moments、HuMoments、findContours、 drawContours、approxPolyDP、arcLength、boundingRect、contourArea、convexHull、 fitEllipse、fitLine、isContourConvex、minAreaRect、minEnclosingCircle、 mathcShapes、pointPolygonTest。
- findContours(...): 找到二值图像中的轮廓。
- approxPolyDP(...): 对多边形曲线做近似,主要功能是把一个连续光滑曲线折线化。
- boundingRect(...): 计算并返回包围轮廓点集的最小矩形。
- minEnclosingCircle(...): 计算并返回包围轮廓点集的最小圆形及其半径。
- drawContours(...): 根据轮廓点集和轮廓结构画出轮廓。
- rectangle(frame, Point(x, y), Point(x1, y1), Scalar(255, 0, 0), 1, 8, 0):画矩形框,坐标点 (x,y) , (x1,y1).
3、 putText(frame, "airplane ", Point(x, y), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 0, 255), 1, 8):标注文字在图像上
4、 imshow("detection_result", frame): 显示图像