cv2.imread(filepath,flags)
- filepath:要读入图片的完整路径
- flags:读入图片的标志
cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道cv2.IMREAD_GRAYSCALE:读入灰度图片
cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道
cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)
- scr:原始图像
- dsize:输出图像的尺寸(元组方式)
- dst:输出图像
- fx:沿水平轴缩放的比例因子
- fy:沿垂直轴缩放的比例因子
-
interpolation:插值方法,有以下5种:
GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]) -> dst
- src –输入图像;图像可以具有任何数量的信道,其独立地处理的,但深度应CV_8U,CV_16U,CV_16S,CV_32F或CV_64F。
- dst –输出与图像大小和类型相同的图像src。
- ksize –高斯核大小。 ksize.width 并且 ksize.height 可以有所不同,但它们都必须是正数和奇数。或者,它们可以为零,然后从计算 sigma*。
- sigmaX – X方向上的高斯核标准偏差。
- sigmaY – Y方向上的高斯核标准差;如果 sigmaY 为零,则将其设置为等于 sigmaX;如果两个西格玛均为零,则分别根据ksize.width 和 进行计算 ksize.height(getGaussianKernel()有关详细信息,请参见 link);完全控制的结果,无论这一切的语义未来可能的修改,建议指定所有的ksize,sigmaX和sigmaY。
- borderType –像素外推方法。
cvtColor(src, method) -> dst
cv2.threshold (src, thresh, maxval, type)
- src:源图片,必须是单通道
- thresh:阈值,取值范围0~255
- maxval:填充色,取值范围0~255
-
type:阈值类型,具体见下表
cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
image:要检测的图像
threshold1:阈值1(最小值)
threshold2:阈值2(最大值),使用此参数进行明显的边缘检测
edges:图像边缘信息
apertureSize:sobel算子(卷积核)大小
L2gradient :布尔值。
True: 使用更精确的L2范数进行计算(即两个方向的导数的平方和再开方)
False:使用L1范数(直接将两个方向导数的绝对值相加)
findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> contours, hierarchy
第一个参数是寻找轮廓的图像;
第二个参数表示轮廓的检索模式,有四种(本文介绍的都是新的cv2接口):
cv2.RETR_EXTERNAL表示只检测外轮廓
cv2.RETR_LIST检测的轮廓不建立等级关系
cv2.RETR_CCOMP建立两个等级的轮廓,上面的一层为外边界,里面的一层为内孔的边界信息。如果内孔内还有一个连通物体,这个物体的边界也在顶层。
cv2.RETR_TREE建立一个等级树结构的轮廓。
第三个参数method为轮廓的近似办法
cv2.CHAIN_APPROX_NONE存储所有的轮廓点,相邻的两个点的像素位置差不超过1,即max(abs(x1-x2),abs(y2-y1)) =1
cv2.CHAIN_APPROX_SIMPLE压缩水平方向,垂直方向,对角线方向的元素,只保留该方向的终点坐标,例如一个矩形轮廓只需4个点来保存轮廓信息
cv2.CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS使用teh-Chinl chain 近似算法
cv2.drawContours(image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset ]]]]])
第一个参数是指明在哪幅图像上绘制轮廓;
第二个参数是轮廓本身,在Python中是一个list。
第三个参数指定绘制轮廓list中的哪条轮廓,如果是-1,则绘制其中的所有轮廓。后面的参数很简单。其中thickness表明轮廓线的宽度,如果是-1(cv2.FILLED),则为填充模式。绘制参数将在以后独立详细介绍。