Python_opencv库
Posted hellangels333
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_opencv库相关的知识,希望对你有一定的参考价值。
车牌检测
‘‘‘
项目名称:opencv/cv2 车牌检测
简介:
1.训练级联表 ***.xml 【跳过...】
2.用如下代码加载级联表和目标图片识别车牌
注:推荐用anconda安装opencv库
‘‘‘
import cv2
detector = cv2.CascadeClassifier() #实例化检测器 detector/检测器
ret = detector.load(‘plate_cascade.xml‘) #加载级联表,注:Python加载文件需要load(加载)一下,C++不需要
# 检测级联表是否加载成功
if not ret:
print(‘未找到级联表/load cascade err‘)
quit()
# 读目标图片
img = cv2.imread(‘2.jpg‘)
#转灰度(黑白色)
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY ) #三字节颜色转一字节颜色(彩色转黑白) cvt/转换 covert
‘‘‘
颜色检测
颜色转换
色彩BGR、HVS两种格式
‘‘‘
# 目标锁定盒子
boxs = detector.detectMultiScale(gray,1.01,3) #两个参数:金字塔层级系数(1~2之间,与车牌在整张图中的占比成反比;越小越检查出来的多),非相关性抑制系数
print(len(boxs)) #找到的目标的个数
for box in boxs:
x,y,w,h=box # zy 位置 wh宽高
g=img[y:y+h,x:x+w,:]
name=‘%d_%d_%d_%d.jpg‘%(x,y,w,h)
print(name) # 输出车牌截图名称【注:坐标命名规则】
cv2.imwrite(name,g) # 打印车牌的截图
2.图片人脸检测
# 人脸识别,正则分析 import cv2 import numpy as np from PIL import Image #pip install PIL #pip install opencv-python #pip install dlib dector=cv2.CascadeClassifier() ret=dector.load(‘haarcascade_frontalface_alt_tree.xml‘) if not ret: print(‘未找到级联表文件:plate_cascade.xml‘) exit() img=cv2.imread(‘e:/85n.jpg‘) if img is None: print(‘文件不存在‘) exit() #彩色转成灰度图像 gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # 正则化,亮度调成均匀的 gray=np.uint8(gray/gray.ptp()*255) boxs=dector.detectMultiScale(gray,1.015,1) platelist=[] for box in boxs: x,y,w,h=box g=img[y:y+h,x:x+w,:] platelist.append(g) linew=h//100+1 cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),linew) gimg=cv2.cvtColor(img,cv2.COLOR_BGR2RGB) image=Image.fromarray(gimg) image.show() image.close()
3.视频人脸检测
# 人脸识别,正则分析 import cv2 import numpy as np from PIL import Image #pip install PIL #pip install opencv-python #pip install dlib dector=cv2.CascadeClassifier() ret=dector.load(‘haarcascade_frontalface_alt_tree.xml‘) if not ret: print(‘未找到级联表文件:plate_cascade.xml‘) exit() img=cv2.imread(‘e:/85n.jpg‘) if img is None: print(‘文件不存在‘) exit() #彩色转成灰度图像 gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # 正则化,亮度调成均匀的 gray=np.uint8(gray/gray.ptp()*255) boxs=dector.detectMultiScale(gray,1.015,1) platelist=[] for box in boxs: x,y,w,h=box g=img[y:y+h,x:x+w,:] platelist.append(g) linew=h//100+1 cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),linew) gimg=cv2.cvtColor(img,cv2.COLOR_BGR2RGB) image=Image.fromarray(gimg) image.show() image.close()
以上是关于Python_opencv库的主要内容,如果未能解决你的问题,请参考以下文章
typescript Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming/angular-2/