CV学习基础

脸部检测是基于图像的明暗变化模式进行判断,需要将图像先进行灰度化处理

马赛克处理需先将图像缩小然后夸大回原尺寸。

保存训练好的算法用joblib

进行以下操作时已经使用cv2.cvtColor()完成了灰度化

图像平滑化(模糊处理):cv2中的函数

cv2.blur()

cv2.medianBlur()

cv2.bilateralFilter()

cv2.GaussianBlur()

#cv2.GaussianBlur()的格式为

img=cv2.GaussianBlur(img,(ax,ay),sigma_x)

(ax,ay)为以像素为单位指定平滑化对象点的邻近范围大小,数值必须是奇数。sigma

_x是横向的标准偏差值,如果为0,则自动根据核的尺寸(即前面的ax,ay)进行计算

图像二值化(阈值处理):

ret,img = cv2.threshold(img,thresh,maxval,type)

img为灰度化后的图像,thresh指定阈值,maxval指定的是超出阈值时所赋予的值,第四个参数设置如何进行阈值处理,指定为THRESH_BINARY_INV时,大于阈值设为0,其他均设为maxval设定的数值。

轮廓检测函数

contours,hierachy = cv2.findContours(img,mode,method)

第一项参数是输入的图像,第二项参数是提取模式,第三项参数是指定轮廓近似方法,返回值是轮廓列表和层次信息。第二项参数具体数值如下:

常量        含义
cv2.RETR_LIST 简单检测轮廓
cv2.RETR_EXTERNAL 检测最外层
cv2.RETR_CCOMP 根据层次检测出第二级轮廓
cv2.RETR_TREE 检测所有轮廓,并保留层次

第三项参数的选择:

常量 含义
cv2.CHAIN_APPROX_NONE 保留轮廓上所有点
cv2.CHAIN_APPROX_SIMPLE 去除冗余点后再返回

你可能感兴趣的:(Python基础,机器学习)