[ Python ] OpenCV ์† ๊ฒ€์ถœ๊ณผ ์–ผ๊ตด ๋ชจ์ž์ดํฌ

2020. 8. 8. 21:32ยท ๐Ÿ’ป๊ธฐ์ˆ /Python
๋ฐ˜์‘ํ˜•

๋จผ์ € ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด OpenCV ๋ฅผ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค.

pip install opencv-python

 

์ „์ฒด์ฝ”๋“œ ์ž…๋‹ˆ๋‹ค

import cv2
import numpy as np

cascadeFace = cv2.CascadeClassifier("./haarcascade_frontalface_alt.xml")
cascadeHand = cv2.CascadeClassifier("./haarcascade_hand.xml")


def removeFace(img, cascade):
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    gray = cv2.equalizeHist(gray)
    rects = cascade.detectMultiScale(gray, 1.4, 5)
    return rects

def detectHand(img, cascade):
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    gray = cv2.equalizeHist(gray)
    rects = cascade.detectMultiScale(gray, 1.4, 5)
    return rects

capt = cv2.VideoCapture(0)
delback = cv2.createBackgroundSubtractorMOG2()
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3))

while capt.isOpened():
    success, frame = capt.read()
    if success:
        # ๊ฒ€์ถœ ์ž‘์—…
        ycrcb = cv2.cvtColor(frame,cv2.COLOR_BGR2YCrCb)
        cam1 = cv2.inRange(ycrcb,np.array([0,133,84]),np.array([255,173,127]))
        cam2 = delback.apply(frame)
        cam2 = cv2.morphologyEx(cam2, cv2.MORPH_OPEN, kernel)

        rectFace = removeFace(frame, cascadeFace)
        
        hand = cv2.GaussianBlur(cam2, (3,3), 0)
        k = cv2.getStructuringElement(cv2.MORPH_RECT, (3,3))
        hand = cv2.morphologyEx(hand, cv2.MORPH_CLOSE, k)
        hand = cv2.erode(hand, k)

        rectHand = detectHand(frame, cascadeHand)


        for x1, y1, x2, y2 in rectFace:
            cv2.rectangle(hand, (x1-100, 0), (x2+1000, 2000), (0,0,0), -1)

        for x1, y1, x2, y2 in rectHand:
            cv2.rectangle(frame, (x1-100, y1-100), (x2-100, y2-100), (0,255,0), 7)
        

        # ํ”„๋ฆฐํŠธ
        cv2.imshow('Def 1 : ์นด๋ฉ”๋ผ', frame)
        cv2.imshow('Def 2 : ์† ๊ฒ€์ถœ', cam1)
        cv2.imshow('Def 3 : ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ', cam2)
        cv2.imshow('Def 4 : First', hand)



        # ESC
        key = cv2.waitKey(1) & 0xFF
        if (key == 27): 
            break
 
 
capt.release()
cv2.destroyAllWindows()

๋Œ€๋žต ์ด๋Ÿฌํ•œ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ์ด ๋ฉ๋‹ˆ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ’ป๊ธฐ์ˆ  > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ Python ] scapy๋กœ ๋‚ด ์ปดํ“จํ„ฐ์˜ ํŒจํ‚ท ์บก์ณํ•˜๊ธฐ  (1) 2020.10.13
'๐Ÿ’ป๊ธฐ์ˆ /Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ Python ] scapy๋กœ ๋‚ด ์ปดํ“จํ„ฐ์˜ ํŒจํ‚ท ์บก์ณํ•˜๊ธฐ
DipokalHHJ
DipokalHHJ
์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ”ญ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž ํ—ˆํ˜•์ค€์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์ธ ์—์„ธ์ด์™€ ๋Œ€์ค‘์ ์ธ ๊ธฐ์ˆ  ์นผ๋Ÿผ์„ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฒ ๋“œ ์Šคํƒ€ํŠธ์—… ๋ฐ์นด๋ฅดํŠธ์ขŒํ‘œ๊ณ„๋ฅผ ์ฐฝ๋ฆฝํ•˜๊ณ  bleeding edge ๊ธฐ์ˆ ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
DipokalHHJ
ํ—ˆํ˜•์ค€
DipokalHHJ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (140)
    • ๐Ÿ’ป๊ธฐ์ˆ  (64)
      • Python (2)
      • JavaScript (6)
      • NodeJS (7)
      • Docker (3)
      • Architecture (1)
      • DevOps (3)
      • CTF (3)
      • Security (2)
      • UIUX (1)
      • ์—๋Ÿฌ์™€์˜ ์ „์Ÿ (12)
      • ์ •๋ณด๊ณต์œ  (8)
      • ๊ธฐํƒ€ (7)
    • ๐Ÿ˜„์ƒ๊ฐ (57)
      • ์Šคํ† ๋ฆฌ (10)
      • ํ”„๋กœ์ ํŠธ (9)
      • ํ”„๋ฆฌ์Šคํƒ€์ผ (5)
      • ์งง์€๊ธ€ (7)
      • ์‹œ๋ฆฌ์ฆˆ (2)
      • Advertisement (1)
      • ์—์„ธ์ด (1)
      • ์ƒ๊ฐ์กฐ๊ฐ (0)
    • ๐Ÿค”ํšŒ๊ณ  (9)
      • ์—ฐ๊ฐ„ ํšŒ๊ณ  (3)
      • ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  (4)
      • ์งง์€ ๊ธฐ๋ก (2)
    • ๐ŸŽธ๊ธฐํƒ€ (1)
      • ์Šค๋ฌด๋”-ํ”„๋กœ์ ํŠธ๊ณต์ง€ (2)
    • ๐Ÿš€์—์„ธ์ด (3)
    • ์ฒ ํ•™ (1)
    • ๋น„์ฆˆ๋‹ˆ์Šค (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

  • ๋ธ”๋กœ๊ทธ ์†Œ๊ฐœ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • php
  • ๊ธฐ์ˆ 
  • ์—๋Ÿฌ
  • ๊นƒํ—ˆ๋ธŒ
  • webpack
  • docker
  • ์›นํŒฉ
  • ๋””์ž์ธ
  • js
  • ๊ต์œก
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ๋„์ปค
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ๋ณด์•ˆ
  • github
  • ์ค‘ํ•™์ƒ
  • ์Šคํƒ€ํŠธ์—…
  • ๊ฐœ๋ฐœ
  • Nodejs
  • TypeScript
  • ๋‹จ์ˆœํ•˜๊ฒŒ ์‚ด๊ธฐ
  • ์ฒญ์†Œ๋…„
  • ์ •๋ณด๋ณด์•ˆ
  • ๊ฐœ๋ฐœ์ž
  • ์Šค๋ฌด๋”ํ”„๋กœ์ ํŠธ
  • ํšŒ๊ณ 
  • vscode
  • ๋””์ž์ธ ์‹œ์Šคํ…œ
  • HackCTF
  • ์†Œํ”„ํŠธ์›จ์–ด

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.2
DipokalHHJ
[ Python ] OpenCV ์† ๊ฒ€์ถœ๊ณผ ์–ผ๊ตด ๋ชจ์ž์ดํฌ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.