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

郑州手机网站制作wordpress 虚拟主机

郑州手机网站制作,wordpress 虚拟主机,神马推广登录,网络工程的定义opencv介绍 OpenCV的全称是Open Source Computer Vision Library#xff0c;是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发#xff0c;以BSD许可证授权发行#xff0c;可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及…opencv介绍 OpenCV的全称是Open Source Computer Vision Library是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发以BSD许可证授权发行可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。 读取图片 opoencv提供相应的函数方便我们读取相关图片打开并展示他 #导入cv模块 import cv2 as cv #读取图片 img cv.imread(face1.jpg) #显示图片 cv.imshow(read_img,img) #等待 cv.waitKey(0) #释放内存 cv.destroyAllWindows()灰度转换 首先我们介绍一下灰度图像看看他的定义 在电子计算机领域中灰度Gray scale数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度尽管理论上这个采样可以是任何颜色的不同深浅甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同在计算机图像领域中黑白图像只有黑白两种颜色灰度图像在黑色与白色之间还有许多级的颜色深度。 通俗的讲灰度图像就是把每个像素只有一个颜色的图像一般来讲都是黑白那么我们为什么需要将普通图像转化为灰度图像呢 因为彩色图像中的每个像素颜色由R、G、B三个分量来决定而每个分量的取值范围都在0-255之间这样对计算机来说彩色图像的一个像素点就会有25625625616777216种颜色的变化范围而灰度图像是R、G、B分量相同的一种特殊彩色图像对计算机来说一个像素点的变化范围只有0-255这256种。彩色图片的信息含量过大而进行图片识别时其实只需要使用灰度图像里的信息就足够了所以图像灰度化的目的就是为了提高运算速度。 当然有时图片进行了灰度处理后还是很大也有可能会采用二值化图像即像素值只能为0或1。 我们可以通过调用opencv的函数库来实现灰度的转化 #导入cv模块 import cv2 as cv #读取图片 img cv.imread(face1.jpg) #灰度转换 gray_img cv.cvtColor(img,cv.COLOR_BGR2GRAY) #显示灰度图片 cv.imshow(gray,gray_img) #保存灰度图片 cv.imwrite(gray_face1.jpg,gray_img) #显示图片 cv.imshow(read_img,img) #等待 cv.waitKey(0) #释放内存 cv.destroyAllWindows()修改尺寸 除了灰度转化的函数opencv还为我们提供了图像修改相关的函数这里简单介绍下 #导入cv模块 import cv2 as cv #读取图片 img cv.imread(face1.jpg) #修改尺寸 resize_img cv.resize(img,dsize(200,200)) #显示原图 cv.imshow(img,img) #显示修改后的 cv.imshow(resize_img,resize_img) #打印原图尺寸大小 print(未修改,img.shape) #打印修改后的大小 print(修改后,resize_img.shape) #等待 while True:if ord(q) cv.waitKey(0):break #释放内存 cv.destroyAllWindows()绘制矩形 在识别到我们想识别的物体后需要用矩形将他绘制出来我们这里提供一下相关的函数接口 #导入cv模块 import cv2 as cv #读取图片 img cv.imread(face1.jpg) #坐标 x,y,w,h 100,100,100,100 #绘制矩形 cv.rectangle(img,(x,y,xw,yh),color(0,0,255),thickness1) #绘制圆形 cv.circle(img,center(xw,yh),radius100,color(255,0,0),thickness5) #显示 cv.imshow(re_img,img) while True:if ord(q) cv.waitKey(0):break #释放内存 cv.destroyAllWindows()猫脸检测 我们这里用到opencv自带的文件来构建我们的检测模型从而从图像上迅速识别到猫脸以下代码是用的人脸识别的文件如果要做测试可以把 haarcascade_frontalface_alt2.xml 换成猫脸相关的xml文件 #导入cv模块 import cv2 as cv #检测函数 def face_detect_demo():gary cv.cvtColor(img,cv.COLOR_BGR2GRAY)face_detect cv.CascadeClassifier(rC:\Users\33718\Desktop\face\opencv\data\haarcascades\haarcascade_frontalface_alt2.xml)face face_detect.detectMultiScale(gary,1.01,5,0,(100,100),(300,300))for x,y,w,h in face:cv.rectangle(img,(x,y),(xw,yh),color(0,0,255),thickness2)cv.imshow(result,img)#读取图像 img cv.imread(rC:\Users\33718\Desktop\face\opencv\data\jm\1.lena.jpg) #检测函数 face_detect_demo() #等待 while True:if ord(q) cv.waitKey(0):break #释放内存 cv.destroyAllWindows()训练数据 我们事先准备数据并且按照如下格式命名 然后我们运行以下代码就能获得一个训练好的yml文件 import os import cv2 import sys from PIL import Image import numpy as npdef getImageAndLabels(path):facesSamples[]ids[]imagePaths[os.path.join(path,f) for f in os.listdir(path)]#检测猫脸face_detector cv2.CascadeClassifier(C:/Users/33718/Desktop/face/catface/data/haarcascades/haarcascade_frontalcatface_extended.xml)#打印数组imagePathsprint(数据排列,imagePaths)#遍历列表中的图片for imagePath in imagePaths:#打开图片,黑白化PIL_imgImage.open(imagePath).convert(L)#将图像转换为数组以黑白深浅# PIL_img cv2.resize(PIL_img, dsize(400, 400))img_numpynp.array(PIL_img,uint8)#获取图片人脸特征faces face_detector.detectMultiScale(img_numpy)#获取每张图片的id和姓名id int(os.path.split(imagePath)[1].split(.)[0])#预防无面容照片for x,y,w,h in faces:ids.append(id)facesSamples.append(img_numpy[y:yh,x:xw])#打印脸部特征和id#print(fs:, facesSamples)print(id:, id)# print(fs:, facesSamples[id])print(fs:, facesSamples)#print(脸部例子,facesSamples[0])#print(身份信息,ids[0])return facesSamples,idsif __name__ __main__:#图片路径path./data/photos/#获取图像数组和id标签数组和姓名faces,idsgetImageAndLabels(path)#获取训练对象recognizercv2.face.LBPHFaceRecognizer_create()#recognizer.train(faces,names)#np.array(ids)recognizer.train(faces,np.array(ids))#保存文件recognizer.write(trainer/trainerCat.yml)#save_to_file(names.txt,names)猫脸检测 最后我们就可以检测猫猫的图像了以下是效果图 import cv2 import numpy as np import os # codingutf-8 import urllib import urllib.request import hashlib#加载训练数据集文件 recogizercv2.face.LBPHFaceRecognizer_create() recogizer.read(trainer/trainerCat.yml) names[] warningtime 0from PIL import Image, ImageDraw, ImageFont def cv2ImgAddText(img, text, left, top, textColor(0, 255, 0), textSize20):if (isinstance(img, np.ndarray)): # 判断是否OpenCV图片类型img Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))# 创建一个可以在给定图像上绘图的对象draw ImageDraw.Draw(img)# 字体的格式fontStyle ImageFont.truetype(STSONG.TTF, textSize, encodingutf-8)# 绘制文本draw.text((left, top), text, textColor, fontfontStyle)# 转换回OpenCV格式return cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)#准备识别的图片 def face_detect_demo(img):graycv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#转换为灰度# 这里要写绝对路径face_detectorcv2.CascadeClassifier(C:/Users/33718/Desktop/face/catface/data/haarcascades/haarcascade_frontalcatface_extended.xml)# faceface_detector.detectMultiScale(gray,1.1,5,cv2.CASCADE_SCALE_IMAGE,(100,100),(300,300))faceface_detector.detectMultiScale(gray,1.1,5,cv2.CASCADE_SCALE_IMAGE,)#faceface_detector.detectMultiScale(gray)for x,y,w,h in face:cv2.rectangle(img,(x,y),(xw,yh),color(0,0,255),thickness2)cv2.circle(img,center(xw//2,yh//2),radiusw//2,color(0,255,0),thickness1)# 人脸识别ids, confidence recogizer.predict(gray[y:y h, x:x w])#print(标签id:,ids,置信评分, confidence)if confidence 60:global warningtimewarningtime 1if warningtime 100:# warning()warningtime 0cv2.putText(img, unkonw, (x 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 1)else:img cv2ImgAddText(img, str(names[ids-1]), x 10, y - 10, (255, 0, 0), 30)# cv2.putText(img,str(names[ids-1]), (x 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 1)cv2.imshow(result,img)#print(bug:,ids)def name():path ./data/photos/#names []imagePaths[os.path.join(path,f) for f in os.listdir(path)]for imagePath in imagePaths:name str(os.path.split(imagePath)[1].split(.,2)[1])names.append(name)name()# 摄像头检测 # capcv2.VideoCapture(0) # cap cv2.VideoCapture(1.mp4) # while True: # flag,framecap.read() # if not flag: # break # face_detect_demo(frame) # if ord( ) cv2.waitKey(10): # breakframe cv2.imread(1.jpg) while True:# 调用人脸检测函数face_detect_demo(frame)# 等待按键或者一段时间后继续下一次循环if cv2.waitKey(1) 0xFF ord(q):break源码链接 GitHub Gitee 如果对各位看官有帮助还请看官们点个关注阿里嘎多~ 代码的路径要换成你自己的绝对路径opencv的函数只能识别绝对路径起码我的版本是这样。
http://www.dnsts.com.cn/news/10768.html

相关文章:

  • 百度推广做网站吗乌镇网站开发文档
  • 新开的公司建立网站有哪些要做的wordpress批量替换标签
  • 玩转wordpressseo排名优化什么意思
  • 文章网站如何与压力做seo自学网视频教程
  • 上海建设工程检测登记的网站一般拍卖会在什么网站做
  • 网站建设讲解材料网站上人家做的简历
  • xyz域名注册局官方网站房屋室内设计用什么软件
  • 企业网站首页布局尺寸网站推广
  • 做珠宝的网站网站开发要用到的工具
  • 技术教程优化搜索引擎整站程序员客栈
  • 网站开发按前端后端分解dw 做简单静态网站
  • 温州网站推广外包重庆市建设工程信息网官网安全监督渝快办
  • 阿里云做网站可以免备案吗扩展名 网站
  • 基于C 的网站开发源码货源一件代发从哪里找
  • 网站的建设及维护报告wap登录是什么意思
  • 手机网站建设方案书网站不用下载免费软件
  • 广州网站备案方案岳阳网站建设开发
  • 做网站完整过程在线商城怎么弄的
  • 做网站的时候表格怎么去掉网站建设和管理情况
  • wap网站的未来品牌建设研究
  • 建设银行网上银行网站进入不了开发app需要多少钱?
  • 网站名字设计全网vip视频网站怎么做
  • 好看欧美视频网站模板下载 迅雷下载地址ppt制作神器
  • 免费创建网站永宝网站建设招聘信息
  • 桐庐县建设局网站桐乡建设规划局网站
  • 常用网站字体针对餐饮公司推广做网站方法
  • 如何做微信网站做广告网站开发神书
  • 在线设计图片网站总结淘宝网站开发需求分析
  • vue做网站的优缺点英国零售电商网站开发
  • 搭建网站 赚钱自己做的网站怎么删除