python opencv 함수 정리
cap = cv2.VideoCapture(vid_path)
: 비디오캡쳐 객체 생성(vid_path : 어떤카메라 쓸지)
ret, previous_frame1 = cap.read()
: ret : true/false(제대로프레임읽었는지), previous_frame1 : 프레임, cap.read() : 비디오의 한 프레임씩
previous_frame = cv2.cvtColor(previous_frame1, cv2.COLOR_BGR2GRAY)
total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
: 프레임 수 추출
current_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
: 흑백처리
current_frame = cv2.GaussianBlur(current_frame, (13,13), 0)
: 블러처리
frame_diff = cv2.absdiff(current_frame,previous_frame)
: 두 프레임 사이의 다른 부분 절대값 계산
ret ,binary_image1 = cv2.threshold(frame_diff,3,255,cv2.THRESH_BINARY)
: 임계값 적용 함수. threshould(이미지프레임, 임계값, 임계값 넘었을 때 적용값, 바이너리타입)
n_labels, img_labeled, lab_stats, _ = \
cv2.connectedComponentsWithStats(binary_image1, connectivity=8,
ltype=cv2.CV_32S)
: ,_ 의미 : 결과의 해당 위치 값 무시
mag, ang = cv2.cartToPolar(flow[...,0], flow[...,1])
: 좌표를 극좌표로 변환. (인풋배열1, 인풋배열2), mag : 크기, ang : 각도
final_binary = cv2.bitwise_and(binary_image2,binary_image1)
: and 마스크 연산