人工智能技术应用导论 第4章 计算机视觉.ppt

人工智能技术应用导论 第4章 计算机视觉.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本资料是人工智能技术应用导论第4章计算机视觉

“感谢大家认真学习本节课内容,我们下节课再见” 03 应用开发流程 训练模型 03 应用开发流程 模型部署 03 应用开发流程 创建应用 03 应用开发流程 调用应用 案例体验 4.3 案例体验1:人脸检测 01 案例体验2:边缘检测 02 01 案例体验1:人脸检测 目标 完成图片多人脸检测功能的应用开发。 效果如图所示: CascadeClassifier是OpenCV用来做目标检测的一个级联分类器。并且可以使用Haar和LBP两种特征。 Haar特征是一种反映图像灰度变化,通过像素分模块求差值的一种特征。 Haar特征包括四种特征描述方式:边缘特征、线性特征、中心特征和对角线特征。 脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,嘴巴比周围颜色要深等。 02 案例体验1:人脸检测 分析 # 人脸检测模型应用-图片人脸检测 from cv2 import cv2 # 读取待处理图像 img = cv2.imread(facedetect2.jpg, cv2.IMREAD_COLOR) # 加载正面人脸检测分类器 face_data = cv2.CascadeClassifier(haarcascade_frontalface_default.xml) # 检测人脸 faces = face_data.detectMultiScale(img, 1.3, 2) # 根据返回绘制人脸矩形框 for x, y, w, h in faces: cv2.rectangle(img, (x, y), (x+w, y+h), (0,255,0), 1) # 显示图像 cv2.imshow(img, img) cv2.waitKey(0) cv2.destroyAllWindows() 02 案例体验1:人脸检测 实现 Haar特征采用了矩阵积分图来加速矩阵计算。 02 案例体验1:人脸检测 知识点 CascadeClassifier人脸检测。 调用CascadeClassifier中的detectMultiScale(image, scaleFactor, minNeighbors)函数进行人脸检测 参数1为image,代码中img为输入的图像; 参数2为scaleFactor,表示在前后两次相继的扫描中,搜索窗口的比例系数; 参数3为minNeighbors,表示构成检测目标的相邻矩形的最小个数(默认为3个)。 02 案例体验1:人脸检测 知识点 矩形框绘制 通过cv2.rectangle(img, pt1, pt2, color, thickness)绘制矩形框 参数1为image,即输入的图像; 参数2为pt1,表示矩形框左上角的点的坐标; 参数3为pt2,表示矩形框右下角的点的坐标; 参数4为color,表示为绘制的矩形框的颜色,由三个通道数值决定; 参数5为thickness,表示绘制的矩形框的粗细。 02 案例体验1:人脸检测 知识点 01 案例体验2:边缘检测 目标 改进4.2.2中的Canny边缘检测,对手写数字“69”图像进行边缘检测,使效果更加明显。 效果如图所示: 原图 改进前 改进后 01 案例体验2:边缘检测 分析 对于4.2.2中的Canny边缘检测的示例,虽然检测出了手写数字“69”的边缘,但是在数字内部还存在很多干扰信息,还需要进一步改进 通过4.2.2中的otsu阈值分割方法,将图像二值化,使得前景和背景更加明显,再进行边缘检测。 效果如下: 原图 otsu阈值分割图 边缘检测效果图 01 案例体验2:边缘检测 实现 # 导入OpenCV、numpy import cv2 import numpy as np # 读取图片数据 img = cv2.imread(handwriting.jpg, 0) # 先进行otsu阈值分割 retl, thl = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU) # 对进行了otsu阈值分割的图像,进行Canny边缘检测 edge3 = cv2.Canny(thl, 30, 70) # 用numpy拼接图像矩阵 tmp = np.hstack((img, thl, edge3)) # 创建显示窗口 dWindow(Canny,

您可能关注的文档

文档评论(0)

dllkxy + 关注
实名认证
内容提供者

本文库主要涉及建筑、教育等资料,有问题可以联系解决哦

版权声明书
用户编号:5213302032000001

1亿VIP精品文档

相关文档