728x90
반응형
코드 및 이미지 : https://github.com/Seokii/Study_OpenCV
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
728x90
반응형
'머신러닝 & 딥러닝 > 컴퓨터 비전' 카테고리의 다른 글
[OpenCV with Python] - 11. 이미지(영상)의 크기 변환(확대 및 축소) : cv2.resize() (0) | 2021.09.26 |
---|---|
[OpenCV with Python] - 10. 이미지(영상)의 밝기 조절 (0) | 2021.09.25 |
[OpenCV with Python] - 08. 컬러 채널 분리하기 (0) | 2021.09.21 |
[OpenCV with Python] - 07. 사진 뒤집기, 반복, 전치 반환 (0) | 2021.09.16 |
[OpenCV with Python] - 06. matplotlib에 이미지 불러오기 cv2.cvtColor() (0) | 2021.09.15 |
댓글