프로그래밍 언어 및 IT 정보/opencv_python 6

[opencv_python] 5. 이미지 컬러스페이스 (BGR,HSV,YUV)

저번 포스팅에 이어 opencv로 기하학적 변환 두 번째 공부를 진행해보겠습니다. 이번 강의에는 이미지의 컬러 스페이스를 다뤄보겠습니다. 저는 Visual studio code와opencv 4.5.5 버전을 이용하였습니다. Color 이미지와 다양한 색공간 opencv에서 이미지를 불러오게 되면 기본적으로 BGR 순서의 컬러 스페이스를 사용하고 있습니다. 컴퓨터로 이미지 색상을 표현하는 방법 중 제일 많이 사용되는 것이 RGB(Red, Green, Blue)입니다. opencv 는 반대 순서를 사용하고 있죠. import cv2 import matplotlib.pyplot as plt img = cv2.imread('torr.jpg',) plt.axis('off') plt.imshow(img) plt.s..

[opencv_python] 4.2 기하학적 변환 (자르기(ROI), 어핀변환,원근변환 )

저번 포스팅에 이어 opencv로 기하학적 변환 두 번째 공부를 진행해보겠습니다. 이번 강의에는 크기조절, 자르기, 기하학적의 기본 바탕이 되는 아핀 변환, 원근 변환을 공부해보도록 하겠습니다. 저는 Visual studio code와opencv 4.5.5 버전을 이용하였습니다. 자르기(Slice) 자르기(Slice)는 영상이나 이미지에서 특정 영역을 잘라내는 연산이라고 보시면 됩니다. 특정 영역을 잘라내는 것을 ROI (Region Of Interest) 라고 하며, 이미지상 관심 있는 영역이라고 보시면 됩니다. 관심 영역만 잘라 알고리즘을 적용한다면, 불필요한 연산이 줄어들게 되겠죠? import cv2 img = cv2.imread('./img/torr.jpg') cp = img[150:250, 1..

[opencv_python] 4.1 기하학적 변환 (대칭, 회전, 확대, 축소 )

저번 포스팅에 이어 opencv로 기하학적 변환을 진행해보도록 하겠습니다. 기하학적 변환(geo-metric transform)은 영상의 좌표에 기하학적인 연산을 가해서 변환된 새로운 좌표를 얻는 것을 말합니다. 쉽게 말해 이미지를 구성하는 픽셀 좌표값이 위치를 재배치하는 과정이라고 보시면 됩니다 :) 저는 Visual studio code와opencv 4.5.5 버전을 이용하였습니다. 대칭(Flip, Symmetry) 대칭은 상하대칭 or 좌우 대칭 2가지 방법이 있는데, 변환할 행렬(이미지)에 대해 2x2 행렬을 왼쪽곱샘을 진행해하면 됩니다. 즉 '->' 형태의 물체에 Y축 대칭을 적용한다면 '

[opencv_python] 3. 이벤트 처리 (키보드, 마우스, 트랙바)

저번 포스팅에 이어 opencv로 도형을 그리는 예제를 공부해보도록 하겠습니다. 저는 Visual studio code와opencv 4.5.5 버전을 이용하였습니다. opencv의 영상 출력을 진행하고 출력되는 창에서 발생하는 키보드 입력, 마우스 입력 이벤트 등을 사용자에게 전달하는 인터페이스를 제공하며, 이를 이용해 사용자 입력을 실시간으로 처리할 수 있는 프로그램을 만들 수 있습니다. 키보드 이벤트 앞의 블로그에서 사용본적 있는 cv2.waitKey() 함수는 키보드의 입력을 알아낼 수 있습니다. cv2.waitKey(delay) Parameters delay: 밀리초 단위의 지연입니다. 0은 "영원히"를 의미하는 특별한 값입니다. 이 함수는 delay인자에 밀리초 단위로 숫자를 전달하면 해당 시간..

[opencv_python] 2. 도형 및 TEXT 그리기

저번 포스팅에 이어 opencv로 도형을 그리는 예제를 공부해보도록 하겠습니다. 저는 Visual studio code와opencv 4.5.5 버전을 이용하였습니다. opencv의 다양한 api 함수를 통하여 여러 도형을 그릴 수 있습니다. 도형 그리는 법은 이미지나 동영상에서 자기가 원하는 영역을 찾은 후 사용자가 편하게 인식하기 위해 목적으로도 사용됩니다 :) 빈 이미지 제작 먼저 어떠한 배경에 도형이나 그림을 그리기 전에 500x500 픽셀 크기의 하얀 이미지를 제작해보려 합니다. import cv2 import numpy as np img = np.full((500,500,3), 255, dtype=np.uint8) cv2.imwrite('blank_500.jpg', img) 위 코드를 보시면 N..

[opencv_python] 1. 이미지 및 동영상(카메라) 읽어오기

이번 포스팅부터는 영상 처리 라이브러리 중 제일 유명한 opencv를 공부하며 알아보도록 하겠습니다. 저는 Visual studio code 와 opencv 4.5.5 버전을 이용하였습니다. 이미지 읽기 가장 기본적인 이미지를 읽는 예제입니다. import cv2 import sys path = 'torr.jpg'# 표시할 이미지 경로 ---1 img = cv2.imread(path, cv2.IMREAD_COLOR)# 이미지를 읽어서 img 변수에 할당 ---2 if img is None:# 이미지가 잘불러왔는지 확인 sys.exit("Could not read the image.") cv2.imshow("Display window", img)# 읽은 이미지를 화면에 표시 --- 3 cv2.waitKey..