전체 글 428

[13] 2) 영상의 산술 및 논리 연산

덧셈 연산 두 영상의 같은 위치에 존재하는 픽셀 값을 더하여 결과 영상의 픽셀 값으로 설정 덧셈 결과가 255보다 크면 픽셀 값을 255로 설정(포화 연산) cv2.add(src1,src2,dst=None,mask=None,dtype=None) -> dst • src1: ( 입력 ) 첫 번째 영상 또는 스칼라 • src2: ( 입력 ) 두 번째 영상 또는 스칼라 • dst ( 출력 ) 덧셈 연산의 결과 영상 • mask: 마스크 영상 • dtype 출력 영상 dst 의 타입 . (e.g.) cv2.CV_8U, cv2.CV_32F 가중치 합(weighted sum) 두 영상의 같은 위치에 존재하는 픽셀 값에 대하여 가중합을 계산하여 결과 영상의 픽셀 값으로 설정 보통 𝛼 + 𝛽 = 1 이 되도록 설정 ➔ ..

[12] 기본적인 영상 처리 기법 1)영상의 밝기 조절

화소 처리(Point processing) 입력 영상의 특정 좌표 픽셀 값을 변경하여 출력 영상의 해당 좌표 픽셀 값으로 설정하는 연산 결과 영상의 픽셀 값이 정해진 범위에 있어야함 반전, 밝기, 조절, 명암비 조절등 밝기 조절이란? 영상을 전체적으로 더욱 밝거나 어둡게 만드는 연산 밝기 조절 수식 영상의 밝기 조절을 위한 영상의 덧셈 연산 cv2.add(src1,src2,dst=None,mask=None,dtype=None) -> dst • src1: ( 입력 ) 첫 번째 영상 또는 스칼라 • src2: ( 입력 ) 두 번째 영상 또는 스칼라 • dst: ( 출력 ) 덧셈 연산의 결과 영상 • mask: 마스크 영상 • dtype: 출력영상(dst) 의 타입. ex)cv2.CV_8U, cv2.CV_32..

[11] 동영상 전환 이펙트

동영상 전환 이펙트 두 동영상 클립 사이에 추가되는 애니메이션 효과 페이드-인, 페이드-아웃, 디졸브, 밀기, 확대 등 구현 할 기능 두개의 동영상 동시 열기 첫번째 동여상의 마지막 N개의 프레임과 두 번째 동영상의 처음 N개 프레임을 합성 합성된 영상을 동영상으로 저장하기 import sys import cv2 import numpy as np cap1=cv2.VideoCapture('video1.mp4') cap2=cv2.VideoCapture('video2.mp4') if not cap1.isOpened() or not cap2.isOpened(): print('video open failed!') sys.exit() # 두 동영상의 크기, fps는 같다고 가정함 frame_cnt1=round(ca..

[10] 키보드, 마우스, 트랙바 이벤트 처리하기

키보드 입력 대기 함수 cv2.waitKey(delay=None) -> retval 키보드에서 'i' 또는 'I' 키를 누르면 영상을 반전 import sys import numpy as np import cv2 img=cv2.imread('cat.bmp',cv2.IMREAD_GRAYSCALE) cv2.namedWindow('image') cv2.imshow('image',img) while True: key=cv2.waitKey() if key==27: break elif key==ord('i'): img=~img cv2.imshow('image',img) cv2.destroyAllWindows() 마우스 이벤트 콜백함수 등록 함수 cv2.setMouseCallback(windowName,onMouse..

[09] 5) 카메라와 동영상 처리하기

cv2.VideoCapture 클래스 OpenCV 에서는 카메라와 동영상으로부터 프레임 ( 을 받아오는 작업을 cv2.VideoCapture 클래스 하나로 처리함 카메라 열기 cv2.Videocapture(index,apiPreference=None) -> retval • index: camera_id + domain_offset_id 시스템 기본 카메라를 기본 방법으로 열려면 index 에 0 을 전달 • apiPreference : 선호하는 카메라 처리 방법을 지정 • retval: cv2.VideoCapture 객체 cv2.VideoCapture.open(index,apiPreference=None) ->retval • retval: 성공하면 True, 실패하면 False 동영상, 정지영상 시퀀스,..