본문 바로가기

OpenCV5

[OpenCV] RGBA 이미지 & 이미지 컬러 스페이스 변환 본 글은 파이썬으로 만드는 OpenCV프로젝트 서적의 내용을 포스팅하는 내용입니다. 4.2장 컬러 스페이스 해당 실습은 cv2 라이브러리를 이용하여 진행합니다. 1. RGBA 이미지 2. 이미지 컬러 스페이스 변환 3. 다양한 이미지 데이터 포맷 1. RGBA 이미지 보통 이미지는 R,G,B 3채널을 갖는 데이터이지만, 추가로 alpha 채널을 갖는 이미지 데이터도 존재합니다. 가끔씩 보면, 위 이미지 처럼 배경이 투명한 이미지를 볼 수 있는데, 이게 알파 채널을 활용한 이미지인 것을 저도 이번에 알았네요. 실습 import cv2 import numpy as np img = cv2.imread('../CV2/img/opencv_logo.png') # 기본 값 옵션 bgr = cv2.imread('../.. 2022. 3. 22.
[OpenCV] 이미지 관심영역 (ROI) 추출하기 본 글은 파이썬으로 만드는 OpenCV프로젝트 서적의 내용을 포스팅하는 내용입니다. 4.1장 관심영역 해당 실습은 cv2 라이브러리를 이용하여 진행합니다. 1. 마우스로 관심영역 추출하기 2. cv라이브러리로 간단히 하기 obj detection 모델에서는 이미지의 관심영역 ROI( Region of Interest )가 라벨이 됩니다. 저는 roboflow라는 플랫폼에서 마우스로 드래그해가면서 이미지 데이터를 라벨링한 경험이 있는데, 이걸 직접 코딩해보는 실습입니다. 1. 마우스로 관심영역 추출하기 import cv2 import numpy as np isDragging = False # 마우스 드래그 상태 저장 x0,y0,w,h = -1,-1,-1,-1 # 영역 선택 좌표 저장 blue,red = (.. 2022. 3. 11.
[Open CV] 파이썬 이미지에 선/ 도형/ 글씨 입력하기 본 글은 파이썬으로 만드는 OpenCV프로젝트 서적의 내용을 포스팅하는 내용입니다. 2장 기본 입출력 해당 실습은 cv2 라이브러리를 이용하여 진행합니다. 1. 이미지에 선 긋기 2. 이미지에 사각형 그리기 3. 이미지에 다각형 그리기 4. 이미지에 원/타원/호 그리기 5. 이미지에 글씨 쓰기 개인적으로는 YOLO모델로 추론한 객체에 정보를 적어줄 때 이용했던 것 같습니다. 1. 이미지에 선 긋기 import cv2 import numpy as np img = np.full((500,500,3), 255, dtype=np.uint8) cv2.imwrite('../CV2/img/blank_500.jpg', img) img = cv2.imread('../CV2/img/blank_500.jpg') cv2.li.. 2022. 3. 4.
[Open CV] 파이썬 동영상 파일 & 웹캠 읽기, 저장하기 본 글은 파이썬으로 만드는 OpenCV프로젝트 서적의 내용을 포스팅하는 내용입니다. 2장 기본 입출력 해당 실습은 cv2 라이브러리를 이용하여 진행합니다. 1. 동영상 읽기 2. 웹캠 켜기 3. 웹캠 크기 조절하기 4. 웹캠 이미지 저장하기 5. 웹캠 동영상 저장하기 1. 동영상 읽기 동영상은 이미지 프레임 하나하나를 연속적으로 읽어오는 원리입니다. 그 속도가 영상의 속도를 좌우하는데, 보통의 동영상은 40fps(frames per second)인 경우가 가장 많다고 합니다. fps에 맞는 지연속도를 구하여 프레임이 들어가는 속도를 조절하는데, 그 계산은 아래와 같습니다. 지연시간 = 1000/fps 1초를 밀리초 단위로 환산해서 제공해야하기에 1000으로 계산합니다. 지연시간이 길다는 건 fps값이 작.. 2022. 3. 3.
[OpenCV] 파이썬 이미지 읽기 / 저장하기 본 글은 파이썬으로 만드는 OpenCV프로젝트 서적의 내용을 포스팅하는 내용입니다. 2장 기본 입출력 해당 실습은 cv2 라이브러리를 이용하여 진행합니다. 1. 이미지 읽기 import cv2 print(cv2.__version__) img_file = "../CV2/img/img1.PNG" # 표시할 이미지 경로 img = cv2.imread(img_file) # 이미지를 읽어서 img 변수에 할당 if img is not None: cv2.imshow('IMG', img) # 읽은 이미지를 화면에 표시 cv2.waitKey() # 키가 입력될 때까지 대기 cv2.destroyAllWindows() # 창 모두 닫기 else: print('No image file.') cv2.imread() - 이미지.. 2022. 3. 3.