虎虎生威,虎头虎脑(opencv 换“虎头”)

「这是我参与2022首次更文挑战的第13天,活动详情查看:2022首次更文挑战

前言

本来今天不想更的,但是一想有始有终嘛。那么今天过年那就来一个非常简单的小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,水完了今年度最后一篇博文~)

Guess you like

Origin juejin.im/post/7059198980810358814