본문으로 바로가기

사회적 거리두는 블로그

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

    관리자
    • 블로그 이미지
      JohnWick99

      프로그래밍, 꿀팁 정보를 알려드립니다.

      링크추가
    • 글쓰기
    • 환경설정
    • 로그인
    • 로그아웃

    리얼 페이스북

    소개 여러 이미지를 불러 각 이미지의 얼굴을 추출하여 하나의 고정된 이미지로 출력합니다. 기간: 20-08-07 ~ 20-08-07 결과 지난번에 만든 이미지 크롤러를 유용하게 써먹었습니다. 후기 OpenCV 를 공부하면서 하르 분류기를 이용한 얼굴검출을 활용하고자 만들어보았습니다. 이번에는 단순히 OpenCV 에서 출력되게 만들었는데요. 단순한 로직인데 아직 영상처리에 대한 기본기가 많이 부족하다고 느껴졌습니다.

    OpenCV 2020. 8. 7. 23:59

    파이썬 OpenCV HOG : 보행자 검출하기

    HOG(Hostogram of Oriented Gradient) 보행자 검출을 목적으로 만들어진 Descriptor 이다. 필요한 정보를 추출하고 관계없는 정본는 버림으로써 이미지를 단순화한다. 예제 HOG 는 다음과 같이 보행자를 식별하기 위한 디스크립터입니다. 전체 코드입니다. import os import cv2 path = os.path.join('video', 'sample.avi') hog = cv2.HOGDescriptor() hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) cap = cv2.VideoCapture(path) while True: ret, frame = cap.read() if not ret: break de..

    OpenCV 2020. 8. 6. 18:04

    파이썬 OpenCV 하르 분류기(Haar Cascade Classifier) : 얼굴 검출하기

    Haar Cascade Classifiers 2001년 Paul Viola 와 Michael Jones 가 제안한 하르기반 다단계 분류기이다. 다수의 positive 이미지와 negative 이미지를 트레이닝 시켜 만들어졌다. 여러 개의 검출기를 순차적으로 사용해서 Cascade(다단계) 란 용어가 붙여졌다. 예제 아래 링크 보시면 pretrained 된 다양한 검출 XML 파일들을 제공하고 있습니다. opencv/opencv Open Source Computer Vision Library. Contribute to opencv/opencv development by creating an account on GitHub. github.com 결과 부터 보시면 미리 pretrained 된 XML 파일들을 ..

    OpenCV 2020. 8. 6. 16:25

    파이썬 OpenCV 템플릿 매칭 -3 : 크롬 공룡게임 간단 매크로 구현

    예제 지난 포스팅에 이어서 매칭된 디노의 width 와 장애물의 width 를 비교해서 간단하게 점프하게 구현해보았습니다. import os import cv2 import numpy as np import pyautogui tpl = cv2.imread(os.path.join('img', 'dino.png'), cv2.IMREAD_GRAYSCALE) th, tw = tpl.shape[:2] ob_names = ['ob1', 'ob2'] ob_list = { k: cv2.imread(os.path.join('img', k + '.png'), cv2.IMREAD_GRAYSCALE) for k in ob_names} cv2.namedWindow('result'); while True: screen = pya..

    OpenCV 2020. 8. 6. 14:07

    파이썬 OpenCV 템플릿 매칭 -2 : 크롬 공룡게임 실시간 매칭하기

    필요한 패키지 설치 캡처하는데 필요한 pyautogui 를 설치합니다. pyautogui 는 키보드, 마우스 이벤트 조작등 다양한 기능을 제공합니다. pip install pyautogui 예제 전체 코드입니다. import os import cv2 import numpy as np import pyautogui tpl = cv2.imread(os.path.join('img', 'dino.png'), cv2.IMREAD_GRAYSCALE) th, tw = tpl.shape[:2] cv2.namedWindow('result'); while True: screen = pyautogui.screenshot(region=(1800, 50, 500, 500)) src = np.array(screen) src = ..

    OpenCV 2020. 8. 6. 13:25

    파이썬 OpenCV 템플릿 매칭 -1 : 크롬 공룡게임

    예제 사용한 템플릿 이미지와 소스 이미지 예제 코드입니다. import os import cv2 import numpy as np src_path = os.path.join('img', 'bg.png') tpl_path = os.path.join('img', 'dino.png') src = cv2.imread(src_path, cv2.IMREAD_GRAYSCALE) tpl = cv2.imread(tpl_path, cv2.IMREAD_GRAYSCALE) res = cv2.matchTemplate(src, tpl, cv2.TM_CCOEFF_NORMED) minval, maxval, minloc, maxloc = cv2.minMaxLoc(res) h, w = tpl.shape[:2] dst = cv2.cvtC..

    OpenCV 2020. 8. 6. 12:44

    파이썬 OpenCV 도형 검출하기

    예제 전체 예제 코드입니다. import os import math import cv2 def setLabel(img, pts, label): (x, y, w, h) = cv2.boundingRect(pts) pt1 = (x, y) pt2 = (x + w, y + h) cv2.rectangle(img, pt1, pt2, (0, 255, 0), 2) cv2.putText(img, label, (pt1[0], pt1[1]-3), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255)) path = os.path.join('img', 'shape.png') img = cv2.imread(path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret, t..

    OpenCV 2020. 8. 5. 23:54

    파이썬 OpenCV 라벨링(Labeling)

    Labeling 라벨링은 이진화된 이미지에서 연결되어 있는 픽셀들을 Grouping 하는 작업입니다. connectedComponentsWithStats 를 사용합니다. cv2.connectedComponentsWithStats(src, labels=None, stats=None, centroids=None, connectivity=None, ltype=None) -> retval, labels, stats, centroids src: 입력 이미지 (grayscale) labels: 레이블 맵 행렬(numpy.ndarray, src 와 동일 타입) stats: connected components 를 감싸는 직사각형(bounding box) 및 픽셀 정보를 담고 있음 centroids: 각 connect..

    OpenCV 2020. 7. 26. 19:29
    • 이전
    • 1
    • 2
    • 3
    • 4
    • 다음

    사이드바

    반응형

    CATEGORY

    • 분류 전체보기 (246)
      • Environment (3)
        • VSCode (1)
      • Linux(2020) (3)
      • API (14)
      • Crawling (11)
        • Basic (8)
        • Data (3)
      • Language (71)
        • Python (61)
        • Javascript (7)
        • Dart (3)
      • Application (35)
        • Flutter (11)
        • Flask (9)
        • PyQt5 (15)
      • AI (5)
        • ML (4)
      • IoT (24)
        • Raspberry Pi (24)
      • OpenCV (28)
      • Bot (8)
      • Errors (9)
      • Tools (3)
      • OS(~2018) (31)
        • Server (8)
        • Window (4)
        • Linux (16)
        • Tools (3)
    • 홈으로
    • 방명록
    • 로그인
    • 로그아웃
    • 맨위로
    SKIN BY COPYCATZ COPYRIGHT 사회적 거리두는 블로그, ALL RIGHT RESERVED.
    사회적 거리두는 블로그
    블로그 이미지 JohnWick99 님의 블로그
    MENU
      CATEGORY
      • 분류 전체보기 (246)
        • Environment (3)
          • VSCode (1)
        • Linux(2020) (3)
        • API (14)
        • Crawling (11)
          • Basic (8)
          • Data (3)
        • Language (71)
          • Python (61)
          • Javascript (7)
          • Dart (3)
        • Application (35)
          • Flutter (11)
          • Flask (9)
          • PyQt5 (15)
        • AI (5)
          • ML (4)
        • IoT (24)
          • Raspberry Pi (24)
        • OpenCV (28)
        • Bot (8)
        • Errors (9)
        • Tools (3)
        • OS(~2018) (31)
          • Server (8)
          • Window (4)
          • Linux (16)
          • Tools (3)
      VISITOR 오늘 / 전체
      • 글쓰기
      • 환경설정
      • 로그인
      • 로그아웃
      • 취소

      검색

      티스토리툴바