虎虎生威,虎头虎脑(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 换“虎头”)的主要内容,如果未能解决你的问题,请参考以下文章

“老虎头”测试工具

吸取“顶流”茶颜悦色“教训”,虎头局应该尽快走出长沙吗?

文心一言,被网友玩坏了哈哈哈哈哈哈哈

孙剑云简介转载

张弛有度

择友要慎重