파이썬/OpenCV

    파이썬 모듈 : OpenCV 동영상 캡쳐&녹화

    이번 글에서는 파이썬 cv2 모듈을 활용하여 동영상을 캡쳐하고 녹화하는 방법에 대해 알아보겠습니다. 동영상 캡쳐 동영상 캡쳐는 파이썬 cv2 모듈을 사용하여 간단하게 구현할 수 있습니다. 아래 코드는 웹캠에서 동영상을 캡쳐하는 예제입니다. import cv2 # 웹캠에서 동영상 캡쳐 cap = cv2.VideoCapture(0) while True: # 프레임 읽기 ret, frame = cap.read() # 프레임 출력 cv2.imshow('frame', frame) # 'q' 키를 누르면 종료 if cv2.waitKey(1) & 0xFF == ord('q'): break # 자원 해제 cap.release() cv2.destroyAllWindows() 위 코드에서 cv2.VideoCapture() ..

    파이썬 모듈 : OpenCV 윤곽선 검출

    이번 글에서는 파이썬 cv2 모듈을 이용하여 이미지 윤곽선을 검출하는 방법에 대해 알아보겠습니다. 윤곽선 검출 이미지 윤곽선 검출은 이미지에서 물체의 윤곽선을 검출하는 것을 의미합니다. 이를 통해 이미지에서 물체의 형태와 크기를 파악할 수 있습니다. OpenCV에서는 다양한 윤곽선 검출 알고리즘을 제공하며, 이 중 가장 많이 사용되는 알고리즘은 cv2.findContours() 함수를 이용한 Contour Detection 입니다. Contour Detection Contour Detection은 이미지에서 객체의 경계를 인식하여, 객체의 윤곽선을 검출하는 알고리즘입니다. 아래 코드는 이미지 윤곽선을 검출하는 예제입니다. import cv2 # 이미지 읽어오기 img = cv2.imread('image...

    파이썬 모듈 : OpenCV 가장자리 검출

    이번 글에서는 파이썬 cv2 모듈을 활용하여 이미지 가장자리를 검출하는 방법에 대해 알아보겠습니다. Canny Edge Detection Canny Edge Detection은 이미지에서 가장자리를 검출하는 알고리즘 중 가장 성능이 우수한 알고리즘 중 하나입니다. 이 알고리즘은 다음과 같은 과정으로 가장자리를 검출합니다. 이미지를 grayscale로 변환합니다. Gaussian blur를 적용하여 이미지의 noise를 제거합니다. Sobel filter를 사용하여 이미지의 gradient를 계산합니다. Non-maximum suppression을 사용하여 이미지의 가장자리를 추출합니다. Double threshold를 사용하여 추출한 가장자리 중 유효한 가장자리를 선택합니다. Hysteresis thre..

    파이썬 모듈 : OpenCV 이미지 확대, 회전, 자르기

    OpenCV는 다양한 이미지 처리 함수를 제공합니다. 이미지 확대, 회전, 자르기와 같은 기본적인 함수들도 포함되어 있습니다. 이번 글에서는 OpenCV를 사용하여 이미지를 확대, 회전, 자르는 방법에 대해 알아보겠습니다. 이미지 확대 이미지를 확대하기 위해서는 resize() 함수를 사용합니다. 이 함수는 이미지를 지정한 크기로 확대하거나 축소할 수 있습니다. import cv2 # 이미지 읽어오기 img = cv2.imread('image.jpg') # 이미지 확대하기 img_resized = cv2.resize(img, None, fx=2.0, fy=2.0, interpolation=cv2.INTER_CUBIC) # 이미지 출력하기 cv2.imshow('image', img_resized) cv2...

    파이썬 모듈 : OpenCV 읽기, 쓰기, 필터링

    OpenCV는 영상 처리를 위한 라이브러리입니다. 파이썬에서 OpenCV를 사용하려면 cv2 모듈을 import해야 합니다. 이번 글에서는 cv2 모듈의 기본적인 사용법과 실제 예제를 포함한 코드 샘플을 알아보겠습니다. 이미지 읽기 cv2.imread() 함수를 사용하여 이미지를 읽을 수 있습니다. 이 함수는 이미지 파일의 경로를 인자로 받고, 이미지를 NumPy 배열로 반환합니다. import cv2 # 이미지 읽기 img = cv2.imread('image.jpg') # 이미지 출력 cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows() 위 코드에서 cv2.imshow() 함수는 이미지를 화면에 출력합니다. cv2.waitKey() 함수는 키..

    이미지의 크기 변환 cv2.resize()

    이미지의 사이즈를 변환시키는 cv2의 함수 resize를 알아 보도록 합시다 cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None) -> dst • src : 이미지(input) • dsize : 변환 시킬 이미지 크기(output) , (w,h) 튜플로 사용하며 (0,0)이면 fx와 fy 값으로 결정함 • dst : 출력 이미지 • fx, fy : 스케일 비율. dsize 값이 0일때 유효 ex) 이미지 크기가 1920* 1080 일때 fx=0.5, fy=0.5 이면 960*540 크기로 변환을 의미 • interpolation : 보간법. 기본값은 INTER_LINEAR 보간법 종류 사이즈가 변할 때 pixel 사이의 값을 결정 ..

    CV2로 IPCAMERA 영상을 동영상으로 저장 해보자

    먼저 코드를 보여드리고 설명드리겠습니다 import cv2 import os, datetime class capture(): def __init__(self,ip,id,pw,rport,): self.ip = ip self.id = id self.pw = pw self.rport = rport self.url = f'rtsp://{id}:{pw}@{ip}:{rport}/cam0_0' def video(self): cap = cv2.VideoCapture(self.url) fourcc = cv2.VideoWriter_fourcc(*'XVID') width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGH..

    CV2로 IPCAMERA 영상을 출력해보자

    cv2로 ipcamera를 연결하려면 rtsp 주소가 필요합니다. 여기서 RTSP란 Real Time Streaming Protocol의 약자로 스트리밍 미디어 서버를 컨트롤 하기위한 네트워크 프로토콜입니다. RTSP 주소 알아보기 IPCAMERA(이하 카메라라고 칭함)가 부여 받은 아이피 주소를 알아야합니다. 카메라 제조사의 소프트웨어를 보시면 ip finder 프로그램을 제공합니다. 192.168.0.48 이런 아이피 주소를 부여 받습니다(자신의 아이피 주소마다 상이함) 동영상플레이어로 주소열기(네트워크 스트림)하고 아래 예시의 주소를 입력하면 rtsp 접속이 가능합니다 rtsp 포트번호는 따로 설정하지 않으면 기본값이 554입니다 한화 테크윈 : rstp://카메라IP:554/profile2/med..