虎虎生威,虎头虎脑(opencv 换“虎头”)
Posted 'or 1 or 不正经の泡泡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虎虎生威,虎头虎脑(opencv 换“虎头”)相关的知识,希望对你有一定的参考价值。
文章目录
本博文优先在掘金社区发布!
前言
本来今天不想更的,但是一想有始有终嘛。那么今天过年那就来一个非常简单的小demo,不管你是大佬还是小白都能够玩得转,只要你会安装opencv,只要你会用pycharm打开python项目,就能够轻松使用~ 那么废话不多说,现在开始过了今天小爷年满20周年 属于小爷的10年征程就开始了(农历30出生的不用羡慕,虽然今年只有农历29 淦!)
流程
准备
这个小demo非常简单 。
我们直接使用 opencv 自带的训练文件
之后我们在准备一张图片
我想你大概已经猜出来了我要干啥了,没错就是用这张帅图代替你的帅脸。
代码如下:
#导入cv模块
import cv2.cv2 as cv
import cv2.data as data
import time
#检测函数
Head = cv.imread("head.jpg")
def face_detect_demo(img):
global Head
gary = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
face_detect = cv.CascadeClassifier(data.haarcascades+"haarcascade_frontalface_default.xml")
face = face_detect.detectMultiScale(gary)
for x,y,w,h in face:
cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)
Head = cv.resize(Head,(w,h))
if((x+w,y+h,3)<img.shape):
img[x: w+x, y: h+y] = Head
cv.imshow('result',img)
cap = cv.VideoCapture(0)
while True:
flag, img = cap.read()
if not flag:
break
face_detect_demo(img)
if ord('q') == cv.waitKey(1):
break
cap.release()
#释放内存
cv.destroyAllWindows()
之后就能完美运行了
至于效果,我就不演示了,超简单有木有~。
(OK,水完了今年度最后一篇博文~)
以上是关于虎虎生威,虎头虎脑(opencv 换“虎头”)的主要内容,如果未能解决你的问题,请参考以下文章