今日来共享一下有关Python图片膨胀和浸蚀、图片人脸识别及其动态性人脸识别的编码~~~开心呢,本小白那时候但是沉浸在cv2库文件很长时间无法自拔了好长时间的呢~~希望你也可以享有Python产生的小惊喜哟。。
图像的膨胀和浸蚀主要是找寻图像中的巨大和很小地区。编码中的构造元素就是指:设立两张图像B,X。若X是被解决的目标,而B是用于解决X的,则称B为构造元素(structure element),又被品牌形象地称作软毛刷。构造元素一般全是一些较为小的图像。详尽的一些基本原理定义见文尾连接啦~~
"""图片膨胀与浸蚀"""
import cv2
?
#载入图片:cv2.imread(途径,num)
img=cv2.imread("1.jpg",0)
?
#结构一个3*3的构造元素
elment=cv2.getStructuringElement(cv2.MORPH_RECT,(3,3))
?
#膨胀图像cv2.dilate(图像,元素构造)
dilate=cv2.dilate(img,elment)
?
#浸蚀图像cv2.erode(图像,元素构造)
erode=cv2.erode(img,elment)
?
#将两张图像做差得到 边,第一个主要参数是膨胀后的图像,第二个主要参数是浸蚀后的图像
result=cv2.absdiff(dilate,erode)
?
#阀值种类:'TERM_CRITERIA_COUNT', 'TERM_CRITERIA_EPS', 'TERM_CRITERIA_MAX_ITER',
# 'THRESH_BINARY', 'THRESH_BINARY_INV', 'THRESH_MASK', 'THRESH_OTSU',
# 'THRESH_TOZERO_INV', 'THRESH_TRIANGLE', 'THRESH_TRUNC'
retval,result=cv2.threshold(result,50,255,cv2.THRESH_BINARY);
?
#反色,即对二值图像每一个清晰度取反
result=cv2.bitwise_not(result);
?
#显示信息图像
cv2.imshow('origin',img)
?
#原照
cv2.imshow('result',result)
?
#图像分割图
cv2.waitKey(0)
cv2.destroyAllWindows()
? ? 图片人脸识别分成下列两步:
图片灰度化、几何变换、图像提高、归一化
特征点精准定位、面部两端对齐、爬取面部特征
"""人脸识别算法"""
import? cv2
?
#启用人脸识别算法特征库
face=cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')
?
#载入图像文档
sample_imag=cv2.imread('1.jpg')
?
#人脸识别算法
faces=face.detectMultiScale(sample_imag,scaleFactor=1.1,minNeig hbors=5,minSize=(10,10))
?
#相框解决
for (x,y,w,h) in faces:
? ? cv2.rectangle(sample_imag,(x,y),(x w,y h),(0,255,0),2)
?
#結果载入图像
cv2.imwrite('face.jpg',sample_imag)
print("detect success")
?
#新创建对话框显示信息图像
cv2.namedWindow("Image")
cv2.imshow("Image",sample_imag)
cv2.waitKey(0)
cv2.destroyAllWindows()
展现一下鉴别我詹皇:帅
也有鉴别nba勇士的情况下:(不会吧不会吧,居然没鉴别到~~我学习培训训库了)
? ? ? ? 动态性人脸识别是不用驻足等候,你要是出現在一定鉴别范畴内,不管你是走动還是停立,系统软件便会全自动开展鉴别,换句话说,人以当然的形状走以往,监控摄像头会开展信息内容的摄录和收集,传出相对的命令,开展动态性人脸识别。
? ? ? ? 主要是根据面部人体器官的样子勾勒及其她们中间的间距特点来得到 有利于面部归类的特征数据信息,其特征净重一般包括特征点间的欧氏间距、折射率和聚焦点等。
import cv2
# 1.应用OpenCV的支持向量机
# 2.从监控摄像头或当地中载入相片
# 3.在图片上换框
# 4.在新页面上展现图片
?
# 1.应用OpenCV的支持向量机/特征库
detector=cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')
# 2.从监控摄像头或当地中载入相片
cap=cv2.VideoCapture(0)
while True:
? ? ret,img=cap.read()
? ? faces=detector.detectMultiScale(img,1.3,5)
? ? # 3.在图片上换框
? ? for (x,y,w,h) in faces:
? ? ? ? cv2.rectangle(img, (x, y), (x w, y h), (0, 255, 0), 2)
? ? cv2.imshow('frame',img)
? ? if cv2.waitKey(1) & 0xFF==ord('q'):
? ? ? ? break
# 4.在新页面上展现图片
cap.release()
cv2.destroyAllWindows()
图片的浸蚀与膨胀:https://blog.csdn.net/zqx951102/article/details/82997588
https://blog.csdn.net/weixin_39128119/article/details/84172385
人脸识别基本原理(含有PPT):https://blog.csdn.net/weixin_42346564/article/details/82500454
动态性人脸识别:https://blog.csdn.net/dedsaa/article/details/94173130
那时候学习培训这一的情况下非常Happy的,便是那类长知识的那类觉得,眼中放着光的那类~~学Python,真欢乐呢。。。希望你也可以从编码中得到 快乐,呐,下列是哪个人脸识别库的xml网站地址,免费下载来试一下,鉴别一下你能超欢乐的哟。。(下边连接无效请私聊我发给你)
连接:https://pan.baidu.com/s/1pnF5vQqBCiKkyXl7rlZfiA?登陆密码:0o1080