当前位置: 首页 > news >正文

静态html网站打包成exewordpress 菜单钩子

静态html网站打包成exe,wordpress 菜单钩子,wordpress留言样式,好学校平台网站模板下载在计算机视觉领域#xff0c;检测人脸等是一种很常见且非常重要的应用#xff0c;我们可以先通过开放计算机视觉库OpenCV来熟悉这个人脸识别领域。另外OpenCV关于颜色的识别#xff0c;可以查阅#xff1a;OpenCV的HSV颜色空间在无人车中颜色识别的应用HSV颜色识别的跟踪实…在计算机视觉领域检测人脸等是一种很常见且非常重要的应用我们可以先通过开放计算机视觉库OpenCV来熟悉这个人脸识别领域。另外OpenCV关于颜色的识别可以查阅OpenCV的HSV颜色空间在无人车中颜色识别的应用HSV颜色识别的跟踪实践https://blog.csdn.net/weixin_41896770/article/details/131746841 1、多尺度检测人脸 我们先直接对一张图片中的多个人脸进行检测看下OpenCV自带的这个级联分类器HAAR对于人脸识别的效果怎么样 import cv2 import numpy as npimg cv2.imread(c.png) # (H,W,C) imgGray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 使用预训练模型创建 Cascade 分类器 getCascade lambda model_name: cv2.CascadeClassifier(cv2.data.haarcascades model_name)# 人脸 Cascade getCascade(haarcascade_profileface.xml) #Cascade getCascade(haarcascade_frontalface_alt2.xml)# 多尺度识别人脸 faces Cascade.detectMultiScale(imgGray,1.2,3) # 矩形标注(左上角与右下角坐标) for (x,y,w,h) in faces:cv2.rectangle(img, (x,y), (xw,yh), (0,0,255) , 2)cv2.imshow(face, img) cv2.waitKey(0) cv2.destroyAllWindows() 如图 虽然位置有偏差往右移动了一些边界框没有在中心位置但是对目标的大概位置还是能够检测到也就是对于脸部这个对象还是可以正确的被识别到。 其中这个haarcascade_profileface.xml文件是OpenCV自带的人脸分类器在Windows中的位置如下(我这里是在虚拟环境pygpu中安装的OpenCV视觉库)envs\pygpu\Lib\site-packages\cv2\data 我们将会在这个目录里面看到还包含有其他很多的预训练模型如图 2、haarcascade分类器 我们知道OpenCV自带的haarcascade分类器还是挺多的这里的cascade翻译为级联什么意思呢我个人的理解是这里的提取特征方法还是用到卷积因为卷积可以检测到边缘质地纹理等而一张图里面有很多很多的特征这个时候我们可以将它们各种尺度缩放来分别提取不同特征并分组这样一层一层的过滤当需要检测需要的对象时只需将不符合的直接丢弃减少计算这样就可以加速得到特征。不清楚这种表达是否正确欢迎指正。 这里的haarcascade分两部分理解haar先提取特征然后使用cascade来对特征进行分类。所以haarcascade_profileface.xml这个文件的意思就是提取特征之后加载人脸分类的一个预训练模型。下划线后面跟随的profileface名称也可以知道需要进行的分类是人脸。 接下来我们换一个对象检测猫脸和猫的眼睛只需要更换对应的模型即可 2.1、猫脸 我更换为一张包含多只猫的图片然后加载这个猫脸的预训练模型 Cascade getCascade(haarcascade_frontalcatface.xml) 如图 从检测的图片中我们可以看到第一只猫没有检测到其余4只都很好的检测到并做了标注。 2.2、检测眼睛 除了检测脸部之外还可以检测眼睛同样的我们更换为眼睛分类模型 Cascade getCascade(haarcascade_eye.xml) 如图 从检测图片中可以看到除了中间的那只猫其余的都很好的检测到了眼睛。 3、detectMultiScale 分类器创建好了之后我们还可以做多尺度检测先来认识下这个detectMultiScale函数 help(detectMultiScale) detectMultiScale(image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]) - objects 参数说明 imageCV_8U类型的矩阵也就是8位无符号整数[0,255]其余还有16位、32位等有符号整数与浮点数其中的字母S表示有符号整型U表示无符号整型F表示浮点型scaleFactor搜索窗口前后大小的比例系数默认为1.1也就是每次搜索窗口扩大10%minNeighbors指定每个候选矩形应该有多少个邻居的参数minSize检测的最小尺寸小于该值的对象将被忽略maxSize检测的最大尺寸大于该值的对象将被忽略。如果maxSize minSize模型在单个尺度上进行评估。 对于这种多尺度的检测还可以在一张图中检测出不同对象并标注也就是说可以做嵌套  faces1 Cascade1.detectMultiScale(imgGray,1.3,2) faces2 Cascade2.detectMultiScale(imgGray,1.5,3)for (x,y,w,h) in faces1:cv2.rectangle(img, (x,y), (xw,yh), (0,0,255) , 2)for (x,y,w,h) in faces2:cv2.rectangle(img, (x,y), (xw,yh), (0,255,255) , 2) 如下图就将猫脸和眼睛都检测出来了 4、摄像头检测 既然对于图片能够识别其中想要检测的对象那在视频中应该也是没有问题的我们来看下摄像头检测的效果由于本人电脑没有摄像头还是使用无人车上的CSI摄像头来测试下测试环境JupyterLab from jetbotmini import Camera from jetbotmini import bgr8_to_jpeg import traitlets import ipywidgets.widgets as widgets from IPython.display import display import cv2camera Camera.instance(width720, height720) face_image widgets.Image(formatjpeg, width300, height300) face widgets.Image(formatjpeg, width300, height300) display(face_image) display(face)face_cascade cv2.CascadeClassifier(haarcascade_profileface.xml) 初始化摄像头与图片显示组件之后紧接着就是实时地将摄像头接收的数据反馈到Image组件并检测人脸以及将人脸特写给显示出来。 while 1:frame camera.valueframe cv2.resize(frame, (300, 300))frame_face frame.copy()gray cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)faces face_cascade.detectMultiScale(gray)if len(faces)0:(face_x, face_y, face_w, face_h) faces[0]# 将检测到的人脸标记出来cv2.rectangle(frame,(face_x,face_y),(face_xface_h,face_yface_w),(0,255,0),2)#cv2.rectangle(frame,(face_x10,face_y),(face_xface_w-10,face_yface_h20),(0,255,0),2)frame_face frame_face[face_y:face_yface_h,face_x:face_xface_w]frame_face cv2.resize(frame_face,(300,300))face.value bgr8_to_jpeg(frame_face)# 实时传回图像数据进行显示face_image.value bgr8_to_jpeg(frame) 如图 这里还多出一个显示脸部特写的组件这里没有截图了比较简单用法是一样的将识别到的脸部显示出来即可。 5、错误处理 如果在前面不使用匿名函数 getCascade lambda model_name: cv2.CascadeClassifier(cv2.data.haarcascades model_name) Cascade getCascade(haarcascade_profileface.xml) 处理的话而使用类似后面摄像头中的写法 cv2.CascadeClassifier(haarcascade_profileface.xml) 如果报下面的错误 error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function cv::CascadeClassifier::detectMultiScale 就是缺少这个文件需要将haarcascade_profileface.xml模型文件拷贝到当前目录即可。 6、小结 在做图片显示的时候有两种方式可以是OpenCV自带的imshow方法 cv2.imshow(face, img) cv2.waitKey(0) cv2.destroyAllWindows() 这种显示很简单直观直接显示cv2.imread读取到的数据即可另外需要注意的时显示方法的后面需要waitkey不然会出现程序不响应。 另外一种方法是在JupyterLab里面显示的情况比如后面介绍的在摄像头里面的显示这里需要注意图片的转换  face_image widgets.Image(formatjpeg, width300, height300) display(face_image) face_image.value bytes(cv2.imencode(.jpg, img)[1]) 这里的widgets.Image组件格式是jpeg格式所以需要进行编码成jpeg格式之后再转换成二进制的字节序列赋值给这个图片组件即可。 其中的字节函数bytes里面的取值范围是[0,255],比如 bytes([0,97,98,99,255]) # b\x00abc\xff 如果不在这个范围就会报错 bytes([0,97,98,99,255,256]) Traceback (most recent call last):   File stdin, line 1, in module ValueError: bytes must be in range(0, 256)
http://www.pierceye.com/news/640432/

相关文章:

  • 大兴企业官方网站建设wordpress 电话登记插件
  • 织梦网站搜索怎么做爱拍怎么创建wordpress
  • 阿里云多网站建设绵阳专门做网站的公司有哪些
  • 网站推广的基本方法对于大部分网站来说都是适用的深圳华强北网站建设
  • 网校网站毕业设计的方案网站如何做外链教程视频
  • poiplayer wordpress广州企业网站seo
  • wordpress翻页数字广州网站整站优化
  • 动漫网站设计与实现wordpress禁止留言网址
  • 网站开发交流培训机构网站制作
  • 网站安全建设模板下载百度推广免费建站
  • 开发网站公司都需要什么岗位人员郑州最好的妇科医院
  • 河北专业网站建设公司推荐温州网站建设公司有哪些
  • flash布局 的优秀网站大连网络广告
  • 网站运营seo浙江台州做网站的公司
  • 网站设计师培训学校京东联盟如何做查优惠卷的网站
  • 安全证查询官网安徽seo团队
  • 网站备案怎么注销天工网官方网站
  • 做网站去哪推广好安徽义信建设网站
  • 金乡网站建设哪家便宜示范建设验收网站
  • 西部数码网站管理助手 ftpwordpress 店铺
  • 怎样找到黄页网站唯品会 一家专门做特卖的网站
  • 企业数字展厅设计信息流优化师是干什么的
  • 网站建设福永附近网络公司怎样建设网站最好
  • 水利建设公共服务平台网站网站开发需要用什么
  • 2015做哪个网站致富网站点击量怎么看
  • 好学校平台网站模板下载wordpress 手机 登陆不了
  • 2021不良正能量免费网站app食品网站设计
  • ps做的网站林州网站建设哪家好
  • wordpress站点logo设置简易微网站模板
  • 做网站这么做网络工程师招聘