网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

行业资讯团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 新闻资讯 > 行业资讯 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

分享有关Python人脸识别的代码-图像扩展和腐蚀,动态人脸识别以及图像人脸识别

文章来源:重庆网站建设 发布时间:2020-08-07 13:04:05 围观次数:
分享到:

摘要:今天分享有关Python图像扩展和腐蚀,图像人脸识别和动态人脸识别的代码。

  今天分享有关Python图像扩展和腐蚀,图像人脸识别和动态人脸识别的代码。


Python图像扩展和腐蚀


  图像的膨胀和腐蚀主要是为了找到图像中的最大和最小面积。代码中的结构元素意味着:有两个图像B和X。如果X是要处理的对象,而B用于处理X,则B称为结构元素,也称为刷子。结构元素通常是相对较小的图像。


"""图片膨胀与腐蚀"""

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

# 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()


图片人脸识别


 图像人脸识别分为以下步骤:


 图像灰度,几何变换,图像增强,归一化,特征点定位,面部对齐和面部特征捕获。


"""人脸检测"""

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()


本文由 重庆网站建设 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:Python 人脸识别 代码 图像扩展和腐蚀 图像人脸识别 动态人脸识别

上一篇:如何设计电商网站的导航栏?
下一篇:当下最热门的企业网站类型包括哪些?

热门资讯

鼠标向下滚动