반응형

파이썬(Python)/opencv 24

[Python]OpenCV 마우스 이벤트/클릭(Mouse Event, Click) 콜백함수

목차 파이썬 마우스 클릭시 함수 구현 파이썬 OpenCV에서 이미지를 띄워 놓고 마우스 클릭 시 특정 함수가 동작되게 하기 위해서는 콜백 함수를 사용해야 합니다. 콜백 함수는 이벤트(Event)가 발생할 시 특정 함수를 시행하는 함수 입니다. 간단히 설명을 드리면 파이썬(Python) 함수는 라인 별로 구현을 하고 완료 합니다. 하지만 마우스 입력(Mouse Click)이나 키보드 입력(Keyboard input)시에 어떤 동작을 구현하길 원한다면 누군가는 코드가 진행되는 와중에도 event가 발생하는 지 모니터링(Monitoring)하고 있어야 합니다. 그리고 이벤트 발생 시 특정 동작을 이행하는데 이것이 콜백 함수의 역할 입니다. 아래는 OpenCV 라이브러리에서 마우스(Mouse) 이벤트 발생 시 ..

[Python]OpenCV 그림 영역 선택, 모자이크 처리하기(Image, Mosaic, Blur)

목차 파이썬 OpenCV Image File 모자이크 처리 이번 포스트는 파이썬 OpenCV의 Blur 함수를 사용해서 모자이크(Mosaic)처리 하는 방법에 대해 알아보겠습니다. 이번 포스트를 수행하기 위해서 아래 단계를 수행 합니다. 이미지 파일불러오기 모자이크할 영역 선택하기 선택 영역 blur함수로 모자이크하기 원본 영역에 blur 모자이크된 영역 덧붙이기 변경된 이미지 불러오기 1~2번 단계는 selectROI로 구현 합니다. selectROI 함수 사용법에 대해서는 아래 포스트에서 진행하였으니 궁금하시면 아래 포스트 참조하시면 됩니다. https://scribblinganything.tistory.com/496 [Python]OpenCV 이미지 마우스 클릭 좌표(위치) 값 확인(selectRO..

[Python]OpenCV 이미지 마우스 클릭 좌표(위치) 값 확인(selectROI 함수)

목차 OpenCV 이미지 마우스 클릭 좌표 값 확인 파이썬 OpenCV의 함수 중에 selectROI 함수는 이미지(image) 파일이나 그림 파일을 읽었을 때 마우스로 원하는 이미지를 클릭하면 해당 위치(Location) 값을 return해 줍니다. selectROI 함수 사용법은 아래와 같습니다. Syntax>> cv2.selectROI(윈도우창 이름, 소스 이미지명, 격자형태 선택) 윈도우창 이름은 imshow를 사용했을 때 처럼 selectROI도 이미지 창을 만들어 주는데 이미지 창(window)의 이름을 설정합니다. 소스 이미지명은 imread로 읽은 이미지 파일(image file)의 return 값을 저장한 객체 명을 입력 합니다. 격자 형태는 마우스를 클릭하면 사각형이 만들어 지는데 Fa..

[Python]OpenCV 색변환 함수 cvtColor 사용 방법(Gray, HSV, RGB, LAB 비교)

목차 파이썬 OpenCV cvtColor 사용 방법 파이썬 openCV에서 제공하는 함수 중에 cvtColor 함수가 있습니다. 함수 가운데 C는 대문자로 작성하셔야 합니다. 그렇지 않으면 아래와 같은 에러 메세지가 발생 합니다. 에러 메세지>> Traceback (most recent call last): File "d:\Python\test02\test06.py", line 5, in modified_img = cv2.cvtcolor(img, cv2.COLOR_BGR2GRAY ) AttributeError: module 'cv2' has no attribute 'cvtcolor' 파이썬의 openCV의 imread 읽은 이미지(image)파일은 BGR(Blue, Green, Red) 형태로 읽습니다...

[Python]OpenCV 이미지 픽셀로 변경하여 수정하기(Numpy array)

목차 OpenCV 이미지 픽셀(Pixel)값 확인하기 우리가 사용하는 컴퓨터의 이미지 파일은 아시다 시피 디지털(Digital)로 되어 있습니다. 화면으로 보이는 값은 실상 픽셀이라는 작은 단위를 BGR(Blue, Green, Red)의 비율로 원하는 색상을 표현해주는 것입니다. 파이썬의 OpenCV 라이브러리를 사용해서 이미지 파일을 읽으면 출력 값은 Numpy(넘파이) array 형태로 숫자로 나옵니다. 즉 픽셀 위치에 따라 배열로 구성되고 구성 값은 BGR값이 되는 것입니다. 아래 예제는 이미지 파일을 읽고 읽은 파일의 종류와 값을 확이하는 작업입니다. 이미지는 무료이미지 사이트에서 포르쉐 자동차 사진을 다운 받아서 사용하였습니다. 예제 코드>> import cv2 img=cv2.imread("po..

[Python]OpenCV 동영상 저장하기, 코덱 종류와 사용방법(Video, fourcc, codec)

목차 파이썬 코덱 종류와 사용방법 파이썬 OpenCV에서 비디오 파일을 다루다 보면 코덱(Codec) 사용을 종종하게 됩니다. 코덱(Codec)이란 영상 파일의 Encode와 Decode를 처리함으로써 우리가 화면에서 보거나 파일로 저장하는 작업을 도와 줍니다. 이번 포스트에서는 코덱(Codec)을 사용해서 영상 파일을 저장하는 코드를 작성할 것입니다. 주로 사용하는 코덱은 아래와 같습니다. MJPG DIVX H264 H264의 경우 웹브라우져(Web browser) 용 비디오 코덱으로 많이 사용 됩니다. 그 외 각종 코덱은 텍스트의 링크를 통해 확인하실 수 있습니다. 코덱을 Python에서 사용하는 방법은 간단하게 아래와 같은 방법으로 진행하시면 됩니다. codec = "DIVX" fourcc = cv..

[Python] OpenCV 동영상 파일 재생하기 (화면 사이즈 변경)

목차 OpenCV 동영상 파일 재생하기 앞서 포스트에서 비디오(Video) 파일(mp4)의 영상 정보를 가져오는 방법에 대해 알아보 았습니다. 이번 포스트는 영상 파일의 사이즈 정보를 가져와서 크기를 변경하고 재생하는 코드를 작성하고 설명하겠습니다. 순서는 아래와 같습니다. 동영상 불러오기(VideoCapture) 동영상 정보가져오기(cv2.get) 동영상 읽기(cv2.read) 프레임(Frame) 크기 변경하기(cv2.resize) 프레임(Frame) 출력 하기(imshow) 코드는 위 순서대로 진행 되고 각 순서에서 사용되는 파이썬 openCV 함수(Function)은 괄호안에 넣었습니다. OpenCV 동영상 파일 재생하기 실습 예제 코드>> import cv2 Vid = cv2.VideoCaptur..

[OpenCV] Python 비디오 속성 값 불러오기(Video attributes)

목차 OpenCV 비디오 속성(Attribute) 파이썬의 OpenCV의 VideoCapture 함수를 사용해서 동영상 파일을 불러 올 수 있습니다. 불러온 비디오 파일을 처리할 때 속도나 크기 처리나 후속 처리를 위해서 특정 비디오가 가진 메타 정보들을 불러와야 합니다. 불러온 비디오 파일을 사용자 지정 객체에 저장하고 객체를 get 함수를 사용해서 속성 정보를 불러 올 수 있습니다. 주요 속성 값은 아래와 같습니다. CAP_PROP_POS_MSEC : 현재 비디오 파일의 위치 (ms, timestamp) CAP_PROP_POS_FRAMES : index 0 base frame CAP_PROP_POS_AVI_RATIO : 비디오 파일의 상대적 위치 (0: 시작점, 1 끝점) CAP_PROP_FRAME_..

[Python]OpenCV imread함수 사용법, 옵션(Option), 예제

목차 OpenCV imread함수 사용법 파이썬의 cv2.imread 함수는 이미지(image)파일을 읽을 때 사용하는 함수 입니다. 이미지 파일은 Numpy arrary 형태로 숫자 값들이 넘어오고 이 숫자가 해당 위치에서의 색을 의미 합니다. cv2.imread 는 기본적인 기능은 이미지 파일을 읽는 것이지만 내부에 많은 Option 들이 있어서 사용 방법을 알아야 활용도를 높일 수 있습니다. 이번 포스트에서는 다양한 예제를 통해 이미지파일을 불러오는 것 이외에 다양한 기능에 대해 알아 보겠습니다. cv2.imread(파일명, 옵션 값) 파일명에는 이미지 파일의 경로와 파일명을 입력 합니다. 저는 코드와 동일 폴더에 이미지 파일을 넣을 예정으로 파일 경로를 입력하지 않습니다. 옵션 값으로는 아래와 같..

[Python]OpenCV waitKey 함수 사용법, 이미지/동영상 파일 열고 닫기

목차 파이썬 OpenCV waitKey 함수란? OpenCV에서 제공하는 함수 중에 waitKey라는 함수가 있습니다. Syntax 는 아래와 같습니다. cv2.waitKey(time) time에는 지연 시키고 싶은 시간 값을 입력합니다. 단위는 밀리세컨드(millisecond)입니다. 사용 방법은 크게 두가지가 있습니다. 단순 시간 Delay 로 사용하는 방법과 키 입력 이벤트(Keyboard event)와 함께 진행하게 만드는 방법입니다. 아래 3개의 예제를 통해 이해해 보겠습니다. waitKey 시간 지연 예제 이번 예제는 단순히 1초 마다 카운팅하는 코드를 작성해보겠습니다. 예제 코드>> import cv2 for _ in range (5): print("Counting : ", _) cv2.wa..

반응형