머신러닝 & 딥러닝/컴퓨터 비전

[OpenCV with Python] - 09. 관심 영역(ROI) 지정 및 값 확인

by seokii 2021. 9. 25.
728x90
반응형

코드 및 이미지 : https://github.com/Seokii/Study_OpenCV

 

GitHub - Seokii/Study_OpenCV: study about OpenCV

study about OpenCV. Contribute to Seokii/Study_OpenCV development by creating an account on GitHub.

github.com

 

OpenCV의 사용과 함께 영상(이미지)의 관심영역(Region Of Interest)을 설정하고 값을 확인 및 영역 표시를 해보도록 하겠습니다.

 

ROI (Region Of Interest)

ROI는 이미지혹은 영상에서 관심있는 영역을 뜻합니다. 특정 오브젝트, 특이점을 찾는 것을 목표로 할 때 주로 사용합니다.

ROI는 다음과 같이 지정할 수 있습니다.

ROI = image[y: y+h, x: x+w]

(x, y)는 시작 좌표를 의미하며, (w, h)는 지정하고자 하는 영역의 폭과 높이를 의미합니다.

위의 식은 이미지(영상)에서 y행에서 y+h까지, x열에서 x+w열까지 슬라이싱한 것을 의미합니다.

 

 

주피터 노트북으로 구현하기

In [1] :

import numpy as np
import cv2

In [2] :

image = cv2.imread("images/cat.jpg", cv2.IMREAD_GRAYSCALE)

- 필요한 라이브러리와 이미지를 불러옵니다.

- 이미지는 그레이스케일(흑백)로 불러 왔습니다.

 

In [3] :

(x,y), (w,h) = (200,200),(30,20)
roi_img = image[y:y+h, x:x+w]

- (x, y), (w, h) 값을 지정합니다.

- 이를 바탕으로 관심 영역을 슬라이싱 합니다.

 

In [4] :

print(roi_img)

Out[4] :

- 지정한 관심 영역의 화소 값들을 확인할 수 있습니다.

 

In [5] : 

cv2.rectangle(image, (x,y,w,h), 255, 1)
cv2.imshow("image",image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Out [5] :

- 지정한 관심 영역을 그리기 기능을 사용하여 사각형으로 표현한 결과입니다.

 

응용해보자!

https://seokii.tistory.com/112

 

[OpenCV with Python] - 15. 인물 사진 9000장 얼굴 인식 해보고 잘라서 저장해보기

코드 및 이미지 : https://github.com/Seokii/Study_OpenCV GitHub - Seokii/Study_OpenCV: study about OpenCV study about OpenCV. Contribute to Seokii/Study_OpenCV development by creating an account on G..

seokii.tistory.com

 

 

728x90
반응형

댓글