인공지능/OpenCV 8

[OpenCV] 동영상에서 특정 색을 다른 색으로 바꾸어 출력하기

배경인 초록색을 내가 원하는 색상으로 바꾸어 주는 작업을 할 것이다. 영화나 광고 촬영도 이런식으로 하지 않을까 생각된다. import cv2 as cv import numpy as np cap=cv.VideoCapture('./face.mp4') retval, frame=cap.read() frame=cv.resize(frame,None,fx=0.3,fy=0.3,interpolation=cv.INTER_AREA) while True: retval, frame=cap.read() if not retval: break frame=cv.resize(frame,None,fx=0.3,fy=0.3,interpolation=cv.INTER_AREA) #print(frame) # Load the aerial imag..

인공지능/OpenCV 2020.04.09

[OpenCV] Haar Cascade 사용하여 얼굴에 마스크 합성하기 (스*우)

개념 1. Haar Cascade Haar Feature Viola와 Jones가 제안한 개념으로 간단한 특징의 Boosted Cascade로 빠른 오브젝트 검출이 가능하다. 원리 1. Feature 선택: 중요한 Features 선택 2. Attention: 잠재적 영역에 집중한다. 3. 빠른 feature 평가를 위해 적분(Integral) 영상을 사용한다. 특정 Feature는 명암 차이가 있다는 이론을 바탕으로 한다. 이미지에서 영역과 영역의 밝기차를 이용하여 특징을 찾아낸다. 사람을 얼굴, 눈, 코, 입 등 특징적인 밝기 차가 있어서 이를 활용하는 것이다. OpenCV에서 ML로 훈련시킨 Feature에 따른 Harrdata를 xml 파일 형태로 제공한다. 즉, Haar Cascade는 머신러닝..

인공지능/OpenCV 2020.04.09

[OpenCV] 동영상에서 특정 색상의 물체를 찾기

import cv2 import numpy as np cap = cv2.VideoCapture('monkey.mp4') #비디오 객체 생성 retval, frame = cap.read() # 첫 프레임 읽어오기 frame=cv2.resize(frame,None,fx=0.2,fy=0.2,interpolation=cv2.INTER_AREA) #사이즈 조정 #bgr을 hsv로 변환 후 hsv를 쪼갬 hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) h, s, v = cv2.split(hsv) #영역 선택 roi = cv2.selectROI('img',frame) roi_h = h[roi[1]:roi[1]+roi[3],roi[0]+roi[2]] #영상이 끝나거나 esc 키를 누를 ..

인공지능/OpenCV 2020.04.09

[OpenCV] 트랙바를 이용하여 이진화

import cv2 def onChange(pos): # 트랙바 핸들러 pos = cv2.getTrackbarPos('V','dst') cv2.namedWindow('dst') # 트랙바 생성 cv2.createTrackbar('V', 'dst', 0, 255, onChange) # 트랙바 위치 초기화 cv2.setTrackbarPos('V', 'dst', 100) while(1): img=cv2.imread('fruits.jpg') img=cv2.resize(img, (600,400)) pos = cv2.getTrackbarPos('V','dst') #영상을 읽어와서 hsv로 변환해준다. hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) h,s,v=cv2.split(hsv) th,..

인공지능/OpenCV 2020.04.09

[OpenCV] 유튜브영상 윈도우창에 출력하기

https://ytdl-org.github.io/youtube-dl/download.html youtube-dl: Download Page Remember youtube-dl requires Python version 2.6, 2.7, or 3.2+ to work except for Windows exe. Windows exe requires Microsoft Visual C++ 2010 Redistributable Package (x86) and does not require Python that is already embedded into the binary. SHA256: 85a15c9 ytdl-org.github.io 해당 사이트에서 window exe 파일을 다운받아 pip install로 설치..

인공지능/OpenCV 2019.08.15

[OpenCV] 동영상 윈도우창에 출력하기

디지털 비디오는 Frame이 연속되게 보여주는 구성을 가지고 있습니다. 비디오의 속도는 초당 프레임의 개수인 Frames per second (FPS) 로 표현됩니다. 비디오 획득 객체 생성하기 cv2.VideoCapture(filename) 프레임 획득 객체 해제 cv2.VideoCapture.release() 다음과 같이 cap이라는 비디오 획득 객체를 생성합니다. 프레임 사이즈도 출력해 보았습니다. while문에서 cap에서 계속 읽어오는데 이 값이 None이 되면 while문 밖으로 나가게 됩니다. 즉, 동영상이 끝날 때까지 계속해서 cap에서 읽어와 frame에 저장하고 보여줍니다. 동영상의 크기가 커서 resize로 frame의 크기를 반으로 줄였습니다. fx, fy 에는 0~1 사이의 값이 ..

인공지능/OpenCV 2019.08.15